window.open在IE中无法正常工作

时间:2011-05-31 15:50:04

标签: javascript internet-explorer window.open

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

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>

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

解锁windows函数调用,看看它实际上给你的错误:

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

window.open不应该给你那个错误。我打赌这是moveTo?

答案 2 :(得分: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";
    }