How to determine if the location of the iframe has

2019-02-28 04:32发布

问题:

I have got an iframe that displays a form from an external site,once the form is submitted it is redirected to another page that has got a thankyou message.Is it posiible to know from the iframe if the location of src webpage has changed? i hope im making some sense...

i got this code which will do the job for me from some website,its working while im in their website but when i try to do it locally im getting Access Denied javascript error....

<html>
<body>
<script language="JavaScript">
    function myLocation() {
        alert(document.all.myFrame.contentWindow.location);
    }
</script>
<iframe id="myFrame" src="http://www.java2s.com" style="width:200;">
</iframe>
<br>
<button onclick="myLocation();">Location of Frame</button>
</body>
</html>

thank you

回答1:

You may want to use the onLoad event, as in the following example:

<iframe src="http://www.google.com/" onLoad="alert('Test');"></iframe>

The alert will pop-up whenever the location within the iframe has changed. The only problem with this technique is that it may not work with some older browsers like IE5 and early Opera. (Source)

UPDATE:

Further to your edit, you are getting the "Access Denied" error because you cannot access the contentWindow.location of a website that is not within the same domain of the parent window. While this is unfortunate for your genuine requirement, this is considered a security restriction to prevent cross-site scripting.



回答2:

function chkCounter(counterValue) {
       var tmp=document.getElementById('txtCounter').value;
       document.getElementById('txtCounter').value=tmp+counterValue;

       if(document.getElementById('txtCounter').value>1)
       {
        document.getElementById("btnClose").disabled = false;
       }
    }

<input align="middle" type="button" onClick="self.close();" value="CLOSE" disabled="true" id="btnClose">
<input type="hidden" id="txtCounter">