Javascript 为什么IE8在查看本地HTML文件时无法打开window.open()(以及如何修复)?

Javascript 为什么IE8在查看本地HTML文件时无法打开window.open()(以及如何修复)?,javascript,html,windows,ie-developer-tools,Javascript,Html,Windows,Ie Developer Tools,由于订单关系,我必须测试运行Windows XP和IE8的本地文件系统中的一些页面。Firefox和其他浏览器可以查看用于打开新windows works的文档和javascript。然而,在IE8中,我得到了一个新窗口,其中充满了一些默认错误消息,Internet Explorer无法显示该网页 无论如何,第一个启动器html位于如下路径中: C:\Documents and Settings\Tester1\My Documents\Sites\testsite\Launcher.html

由于订单关系,我必须测试运行Windows XP和IE8的本地文件系统中的一些页面。Firefox和其他浏览器可以查看用于打开新windows works的文档和javascript。然而,在IE8中,我得到了一个新窗口,其中充满了一些默认错误消息,Internet Explorer无法显示该网页

无论如何,第一个启动器html位于如下路径中: C:\Documents and Settings\Tester1\My Documents\Sites\testsite\Launcher.html


Launcher.html具有调用window.open的链接,URL为Target.html。这是失败的关键。窗口将打开,但只包含错误消息。

这是一项安全功能,因此恶意站点无法在您的计算机上戳出并执行恶意命令


我认为最好的办法是安装一个简单的服务器,比如XAMPP。。仅用于本地测试。

这是不正确的。没有协议和主机的URL是对引用页面来源的隐式引用。这实际上可以正常工作,所以肯定还有其他原因。发布代码。您的代码是否包含对window.resizeTo或window.resizeBy的调用?IE中存在一个已知问题,即在onload事件IIRC期间限制对这些方法的访问。它们返回的是被拒绝的权限错误。请参阅此MSDN帖子上的评论:httpErrorPagesScript.js错误确实无关紧要。问题似乎与通过URL向目标传递变量有关。Launcher.html实际上使用类似Target.html?path=../../../../../content/file.xml的url调用window.open。我发现,当url仅为Target.html?path=../content/file.xml时,它可以工作,当它有多个../it失败时,如果我在打开的窗口上显示地址栏,我会看到path变量位于地址中,而不是Target.html?path=../../../content/file.xmlI。我得出结论,IE8无法处理URL变量,这些变量的值是从本地文件系统。这就留下了两种解决方案。1将javascript注入目标html以定义参数我需要它通过url接收2个继续传递的变量,但在目标html中定义相对路径部分。由于路径的这一部分不会很快改变,而且我不知道如何注入javascript,所以我决定选择选项2。