2011-05-31 370 views
0

我有一个与IE(测试版本6 & 8)问题很大的问题。 Window.open方法在FF,Opera,Chrome中正常工作。 IE打开新窗口,但在主窗口中加载相同的URL。 我知道一个解决方案可以从href中删除url,但我需要它为JS关闭案件。另外我需要为新窗口定位。window.open在IE中无法正常工作

IE“错误控制台”说:访问被拒绝。

<script type="text/javascript"> 
function regForm() 
{ 
var left = Math.abs((window.innerWidth - 550)/2); 
var top = Math.abs((window.innerHeight - 600)/2); 
window.open("http://somepage.html", "Signin", "width=550,height=600,scrollbars=1").moveTo(left, top); 
}   
</script> 
<a class="ibm-b1-bttn" href="http://somepage.html" onclick="javascript:regForm(); return false;">Register Now</a> 

请帮助我,这对我很重要。非常感谢!

+0

你试图消除'的moveTo()'? - 我怀疑这比'window.open()'本身更可能是问题。 – Spudley 2011-05-31 15:52:54

+0

问题不在于window.open(),它与事件处理程序的工作方式一致。 – Pointy 2011-05-31 15:55:52

+0

您是否尝试过更改'',以便它的“href”值只是“#”? – Pointy 2011-05-31 15:56:48

回答

0

你可以尝试引用没有HTTP的URL吗?所以somepage.html\somepage.html取决于文件驻留在您的服务器上的位置?

+0

这不会帮助,我不认为。 – Pointy 2011-05-31 15:56:01

0

unchain的窗函数调用,看看哪一个它实际上是给你的错误:

var myWin = window.open("http://somepage.html", "Signin", "width=550,height=600,scrollbars=1"); 
myWin.moveTo(left, top); 

window.open不应该放弃这样的错误。我打赌这是移动?

0

您可以使用此解决方法来修复它。首先打开一个空白的新窗口,移动它,然后改变位置。它似乎是与IE浏览器的安全问题:

锚标签:

<a class="ibm-b1-bttn" href="#" onclick="regForm();">Register Now</a> 

JS功能:

function regForm() { 
     var left = Math.abs((window.innerWidth - 550)/2); 
     var top = Math.abs((window.innerHeight - 600)/2); 
     var win = window.open("", "Signin", "width=550,height=600,scrollbars=1") 
     win.moveTo(left, top); 
     win.location = "http://somepage.html"; 
    }