在IE9地址栏中粘贴/输入时,URL有效,但在href或window.open中则无效

时间:2011-10-04 22:18:45

标签: javascript hyperlink filesystems internet-explorer-9 intranet

上下文:这是INTRANET系统的一部分,需要基本身份验证并运行仅在我们的工作域内可访问的内部服务器。

因此,情况是IE9将跟随网络文件的链接&文件夹,通过映射驱动器没有任何问题。我有这个工作正常,一种IE唯一的安全漏洞,适用于我们的情况和许多其他人:))

例如: <a href="file:///U:/foo/bar.txt" target=\"_new\">Example</a>工作正常。 现在,问题是 <a href="file:///C:/foo/bar.txt" target=\"_new\">Example</a> 无效
但是如果我将 file:///C:/foo/bar.txt 复制并粘贴到地址栏中,它就可以正常加载。同样适用于本地文件夹。

另一点需要注意的是,我尝试过<a href="#" onclick="window.open('file:///C:/foo/bar.txt');">Example</a>并尝试了完全相同的结果。指向文件的网址&amp;网络映射驱动器上的文件夹工作正常,C:\ folders&amp;文件不起作用(除非粘贴到地址栏中)。

所以我的问题是:
1。考虑到我有一个有效的URL,为什么IE9在点击时不会跟随它,但在输入地址栏时会跟着它?
2。为什么IE对启动网络文件没有任何疑虑?文件夹,但不是本地的?
3。我怎样才能使这个工作? (我毫不犹豫地使用任何必要的脏IE浏览器)

对这些问题中的任何一个问题的回答都会很棒,但金星会回答那些可以回答#3的人! 我怀疑/希望它只是一个模糊的安全设置,我的谷歌搜索无法发掘。

感谢您的时间和希望这会和经历过一次经历过的人敲响钟声。在此之前解决了这个问题:)

编辑:我刚注意到IE9正在重新解释我的链接!!如果我查看源代码并看到:<a href="C:/foo/bar.txt" target="_new">Example</a><a href="file://C:/foo/bar.txt" target="_new">Example</a>,当我将鼠标悬停在链接上或复制快捷方式时,我会收到file:///C:/foo/bar.txt。因此,我认为我正试图形成一个“正确”的URL。我确定这不是代码语法错误,而是在某处设置以启用这些C:链接。

1 个答案:

答案 0 :(得分:0)

我无法复制您的问题。我可以使用以下两种方式在Chrome和IE中打开页面:

<a href="file:///C:/temp/test.py">Example</a> 

<a href="file://C:/temp/test.py">Example</a>