2011-11-07 64 views
2

找到新的窗口HREF我使用下文提到的脚本来获得新打开的窗口中的HREF,但其没有工作无法使用JavaScript

浏览器FF 7,IE 9,WIN 7

可有人请让我知道什么是错的脚本

由于提前

AKHIL

<html> 
    <head> 

    <script type="text/javascript"> 
    function open_win() 
    { 
     var mywindow=window.open("http://thesun.co.uk"); 
     var clbutton=document.createElement("button"); 
     var par=document.getElementById("main"); 
     clbutton.setAttribute("id","focus"); 
     clbutton.setAttribute("value","CLICK"); 
     clbutton.innerHTML="CLICK"; 
     par.insertBefore(clbutton,null); 
     clbutton.onclick=function() {alertMsg(mywindow);} 
    } 
    function alertMsg(mywindow) 
    { 
    mywindow.focus(); 
    var t=mywindow.location.href; 
    alert(t); 
    //mywindow.alert("testing"); 
    mywindow.close(); 
    } 

    </script> 
    </head> 

     <body onload="open_win()"> 

     <p id="main"></p> 
     </body> 

    </html> 
+0

你碰巧有“不安全的JavaScript尝试从URL http://www.thesun.co.uk/sol/homepage/与框架URL访问框架...”或“mywindow为null”在您的消息安慰? – ZenMaster

回答

2

您无法获取与正在运行的脚本不同的域或协议中的站点的URL。这是由于跨域限制。 Chrome会为您提供以下错误: 不安全的JavaScript尝试访问来自框架的网址为http://www.thesun.co.uk/sol/homepage/的帧,网址为http://fiddle.jshell.net/_display/。域,协议和端口必须匹配。

+0

是否有任何解决方案,我只是在错误控制台的FF错误提示:'权限被拒绝访问属性'href'',并且如果我使用myWindow.onload ='一些警报功能',那么也警告未来很多在实际页面加载之前,似乎它不识别新窗口 – user522170

+0

像MDC上的['window.open'文档](https://developer.mozilla.org/en/DOM/window.open)在用window.open打开的窗口中声明你的动作受[同源策略](https://developer.mozilla.org/En/Same_origin_policy_for_JavaScript)的限制。没有办法绕过同一起源策略,因为它是所有浏览器的重要安全功能。 –

0

我认为这可能是因为该变量尚未设置。我想你可能需要回电说dom已经准备好进入新窗口。