0

我对 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>

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

4

3 回答 3

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";
    }   
于 2014-04-09T18:11:53.193 回答
0

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

于 2011-05-31T15:53:03.767 回答
0

解开windows函数调用,看看它实际上给了你哪个错误:

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

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

于 2011-05-31T15:54:13.617 回答