473,732 Members | 2,219 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Dynamic IFrame Creation Caching Problem

polymorphic
28 New Member
I have succeeded in embedding PDF files in a dynamic iframe. The problem is that I need the PDF to cache. If the PDF remains the same from page load to page load then the pdf is somehow cached with the html page. But if I try to navigate to another pdf in the IFRAME then no caching occurs. Is the problem in the IFRAME reloading instead of just refreshing the pdf?

Expand|Select|Wrap|Line Numbers
  1. <SCRIPT type="text/javascript">
  2.  
  3. var pageNo;
  4. var nav;
  5. var iframe;
  6. var embed;
  7. pageNo = 1;
  8.  
  9. var embed = "<EMBED src=/Catalog/Page" + pageNo + ".pdf scrollbar=1&amp;messages=0&amp;statusbar=0&amp;navpanes=0 width=600 height=650></EMBED>";
  10.  
  11. function makeIframe() {
  12. iframe = document.createElement("IFRAME");
  13. iframe.src = "javascript:'<HTML><HEAD>";
  14. iframe.src += "<TITLE>Dynamic IFrame</TITLE>";
  15. iframe.src += '</HEAD><BODY>';
  16. iframe.src += '<FORM method=get action=dummy.php>';
  17. iframe.src += "</FORM>" + embed + "</BODY></HTML>'";
  18. document.body.appendChild(iframe);
  19. f = document.getElementById('IFRAME');
  20. }
  21.  
  22. function navigate(nav){
  23.  
  24. if (nav == "f")
  25.  {
  26.     pageNo = pageNo + 1;
  27.     embed = "<EMBED src=/Catalog/Page" + pageNo + ".pdf scrollbar=1&amp;messages=0&amp;statusbar=0&amp;navpanes=0 width=600 height=650></EMBED>"
  28.  }
  29.  else if (nav == "b")
  30.  {
  31.     pageNo = pageNo - 1;
  32.     embed = "<EMBED src=/Catalog/Page" + pageNo + ".pdf scrollbar=1&amp;messages=0&amp;statusbar=0&amp;navpanes=0 width=600 height=650></EMBED>"
  33.  }
  34.  else if (nav == "i")
  35.  {
  36.      pageNo = 2;
  37.      embed = "<EMBED src=/Catalog/Page" + pageNo + ".pdf scrollbar=1&amp;messages=0&amp;statusbar=0&amp;navpanes=0 width=600 height=650></EMBED>"
  38.  }
  39.  
  40. this.document.frames['IFRAME'].location.reload(true);
  41.  
  42. }
Jul 20 '07 #1
3 5395
polymorphic
28 New Member
I've been working on this problem on and off for a while now. I need to dynamically embed a pdf into an iframe. It works fine but the pdf is not caching. I assume that this is because the iframe is dynamic so that each time a new pdf is opened, a new iframe is created? Is there a way around this? I moved this from asp to html so that it supposedly WOULD cache the pdf. Could it be because I call the create iframe function from the onLoad event (onLoad="makeIf rame()")? Here is the function I am using:

Expand|Select|Wrap|Line Numbers
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML><HEAD><TITLE>2007 Catalog</TITLE>
  3. <META http-equiv=Content-Type
  4. content="text/html; charset=windows-1252">
  5. <SCRIPT type="text/javascript">
  6.  
  7. var pageNo;
  8. var nav;
  9. pageNo = 1;
  10.  
  11. iframe = document.createElement("IFRAME");
  12.  
  13. function makeIframe(nav) {
  14.  
  15. if (nav == "f")
  16.  {
  17.     if (pageNo < 102)
  18.     {
  19.     pageNo = pageNo + 1;
  20.     }
  21.  }
  22.  else if (nav == "b")
  23.  {
  24.     if (pageNo != 1)
  25.     {
  26.     pageNo = pageNo - 1;
  27.     }
  28.  }
  29.  else if (nav == "i")
  30.  {
  31.      pageNo = 2;
  32.  }
  33.  
  34. iframe.src = "javascript:'<HTML><HEAD>";
  35. iframe.src += "<TITLE>Dynamic IFrame</TITLE>";
  36. iframe.src += '</HEAD><BODY>';
  37. iframe.src += '<FORM method=get action=dummy.php>';
  38. iframe.src += "</FORM><EMBED src=/Catalog/Page_" + pageNo + ".pdf toolbar=0;scrollbar=1&amp;pagemode=none&amp;zoom=50&amp;messages=0&amp;statusbar=0&amp;navpanes=0 width=600 height=650></EMBED></BODY></HTML>'";
  39. document.body.appendChild(iframe);
  40. }
  41. </SCRIPT>
  42. <link href="../css/style.css" rel="stylesheet" type="text/css">
  43. <link rel="stylesheet" href="stylesheets/main.css" type="text/css">
  44. </HEAD><BODY style="margin:0%" onLoad="makeIframe()">
  45. <table>
  46. <tr>
  47. <td width = "50%"><font color="#0000A0">
  48. <b>2007 Catalog</b></font>
  49. </td>
  50. <td width = "13%"></td>
  51. <td width = "50%" align = "right">
  52. <input type = "button" name = "bPrevious" value = "Previous" onClick="makeIframe('b')">
  53. <input type = "button" name = "bNext" value = "Next" onClick="makeIframe('f')">
  54. <input type = "button" name = "bIndex" value = "Index" onClick = "makeIframe('i')">
  55. <input type = "button" name = "bClose" value = "Close" onClick = "this.close">
  56. </td>
  57. </tr>
  58. </table>
  59. </BODY>
  60. </HTML>
Jul 30 '07 #2
pbmods
5,821 Recognized Expert Expert
Heya, polymorphic.

I can't be positive, but perhaps it has something to do with the fact that you are using embed tags.

What would happen if you just set the src of the iframe to the URI of the PDF?
Jul 30 '07 #3
polymorphic
28 New Member
Heya, polymorphic.

I can't be positive, but perhaps it has something to do with the fact that you are using embed tags.

What would happen if you just set the src of the iframe to the URI of the PDF?
Um, you could be right. The pdfs cache when I open the html independently of the rest of the site. However, if I link to the html page then no caching. What is the difference?

Here is the changed script:
Expand|Select|Wrap|Line Numbers
  1. <SCRIPT type="text/javascript">
  2.  
  3. var pageNo;
  4. var nav;
  5. pageNo = 1;
  6.  
  7. function makeIframe(nav) {
  8.  
  9. if (nav == "f")
  10.  {
  11.     if (pageNo < 102)
  12.     {
  13.     pageNo = pageNo + 1;
  14.     }
  15.  }
  16.  else if (nav == "b")
  17.  {
  18.     if (pageNo != 1)
  19.     {
  20.     pageNo = pageNo - 1;
  21.     }
  22.  }
  23.  else if (nav == "i")
  24.  {
  25.      pageNo = 2;
  26.  }
  27. var iframe = document.createElement("IFRAME");
  28. iframe.setAttribute("src", "/Catalog/Page_" + pageNo + ".pdf");
  29. iframe.setAttribute("id", "contentFrom");
  30. document.body.appendChild(iframe);
  31. }
  32. </SCRIPT>
The href link is in an includes file (which is called from an asp file) as follows:

Expand|Select|Wrap|Line Numbers
  1. <!-- #include virtual="/includes/leftMenu.inc" -->
Expand|Select|Wrap|Line Numbers
  1. <tr>
  2.  <td><a href="catalog.html" target = "_blank" onMouseOut="MM_swapImgRestore();" onMouseOver="MM_swapImage('default_r3_c2','','images/default_r3_c2_f2.gif',1);"><img name="default_r3_c2" src="images/default_r3_c2.gif" width="160" height="40" border="0" alt=""></a></td>
  3. </tr>
I do not understand why it makes a difference.
Jul 31 '07 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

2
47342
by: Templar | last post by:
Hi i'm bothering with such problem... I must dynamic create an Iframe, and then put som raw HTML into it. But I can't. When I create iframe, I can't access its properties. Here's the coe snipplet: //************************************* //*************************************
2
2556
by: Dave Williamson | last post by:
When a ASPX page is created with dynamic controls based on what the user is doing the programmer must recreate the dynamic controls again on PostBack in the Page_Load so that it's events are wired and are called like a static control. Here is the problem that I need to solve. The processing overhead that occurs to determine what dynamic controls need to be added involves business logic and a query or queries of data in a sql server...
26
3242
by: shlomi.schwartz | last post by:
using this example: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Test Page</title> </head>
1
7983
by: spolsky | last post by:
hi, i have the following pages. when form submitted with the field1 value is "ok" then the iframe must be loaded with the text "Page loaded...". This works fine with IE 6 and FireFox(1.5) but Opera (9.01) does not refresh the iframe and loads the page for iframe from the cache, so refreshing the page gets the iframe refreshed with the new page. If DisableCaching() function used which disables all kind of caching then Opera works fine. So,...
8
5369
by: hyejin | last post by:
I have a problem with dynamic iframe and document.close() on Firefox. Below two files create a dynamic iframe by JavaScript. These two samples do not have any problems on IE. But, on Firefox, the icon on the top corner keeps running with "loading" message on the bottom status bar even though the browser completed everything in the iFrame. The line that causes the problem is "document.close()" in the included JS file. If this line is...
5
2057
by: pbd22 | last post by:
hi. i have a hidden iframe for uploading files. when i check the httpfilecollection on the server, it is always zero - the files never make it to the server. i know all the javascript is working correctly on the client b/c i have followed the local variables using venkman. so, something is happening on the server.
1
6890
by: redbaks | last post by:
Hi! I am trying to implement adding widgets to our template editor (for blogs). I am worried that i might open a window for XSS attacks so i decided to enveloped all widgets inside an iframe. whenever a user wants to insert an external widget to his blog, a script takes over and it will create a dynamic iframe and then the widget script will be inserted inside the iframe. i created a dynamic iframe using this code (I simplified it..)
1
4913
by: cdmsenthil | last post by:
I have an Infragistics UltrawebGrid . Each Row in the grid is attached to a context menu using Infragistics CSOM Upon click on the menu, I am creating an Iframe dynamically which points to another page in the same domain which also contains infragistics datagid populated with default data retrieved from Data Base. After creating the frame I am attaching it to the HTML DOM and show it as modal popup with OK and Cancel Button inside an...
1
5800
by: chaitanyadotcom | last post by:
As per my application i need to create tabs using iFrame dynamically. There are totally 4 buttons in my application where for each button i provide a link. Where in it will dynamically create a tab inside the iFrame. For example.. first button contains google.com second button contains yahoo.com 3rd button contains hotmail.com if i click on first button i.e google.com , tab is created and link to google.com is generated as a tab in...
0
8774
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9447
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9307
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8186
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6031
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4550
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
3261
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2721
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2180
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.