one possible workaround: send from your page samplexxx a heartbeat to the top page (remember the time of the last heartbeat). then you can check this value. if this value is too long not updated, then the iframe have a different content.
On 1 Sep., 22:29, Jayant <[EMAIL PROTECTED]> wrote: > Hello, > > I am trying to create an application where I have to watch the > location and content of an iframe. I wrote a simple prototype where a > top page contains 2 iframes. One is used for the real content and one > just contains a script that watches the content iframe. Now as long as > the pages in the iframe are coming from the same server, this works. > However when the user navigates to a page from another server, the > scheme fails. I cannot stop the user from going to any other page in > that iframe. I only need to know where the iframe is pointing to. I > have gone through a numerous references on the cross domain security > and there does not seem to be an answer to this. I have two questions: > 1. Is this impossible to resolve in pure javascript. May be there is > some scheme used by portlets that could help and 2. Can use of flash / > flex help get over this problem. > > Following is the code for the four files in the little prorotype. > > ------------------main.html------------------- > <html> > <head> > <title>Main Co-Browser Page</title> > <script language="javascript"> > function getContentURL() > { > d = document; > f = d.frames ? d.frames['content'] : d.getElementById('content'); > var url = ""; > try > { > if (f.getCurrentLocation) > { > url = f.getCurrentLocation(); > } > else if (f.contentWindow.getCurrentLocation) > { > url = f.contentWindow.getCurrentLocation(); > } > } > catch(e) > { > url = ""; > } > return url;} > > </script> > </head> > <body> > <iframe id="content" src="sample1.html" width="100%" height="200px"></ > iframe> > <iframe id="tracker" src="tracker.html"></iframe> > </body> > </html> > --------------------------------------------------- > ---------------------sample1.html------------------ > <html> > <head> > <title>Sample1</title> > <script language="javascript"> > function getCurrentLocation() > { > return document.location;} > > </script> > </head> > <body> > <p>This is page sample 1 > <p><a href="sample2.html">Sample2</a> > <p><a href="http://www.google.com">Google</a> > </body> > </html> > --------------------------------------------------- > ---------------------sample2.html------------------ > <html> > <head> > <title>Sample1</title> > <script language="javascript"> > function getCurrentLocation() > { > return document.location;} > > </script> > </head> > <body> > <p>This is page sample 2 > <p><a href="sample1.html">Sample1</a> > <p><a href="http://www.yahoo.com">Yahoo</a> > </body> > </html> > --------------------------------------------------- > ---------------------tracker.html------------------ > <html> > <head> > <title>Tracker</title> > <script language="javascript"> > function test() > { > var frameUrl = parent.getContentURL(); > if (frameUrl == "") > { > alert("Content is out of scope");} > > else > { > alert('frameUrl = '+frameUrl);} > > setTimeout("test()", 3000);} > > var timerID = setTimeout("test()", 3000); > </script> > </head> > <body> > </body> > </html> > --------------------------------------------------- > > Thanks, > -Jayant. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---