同样的问题在这里 ,但我需要去当地的URL在Firefox
我试着用这样的代码
var url = "file:///E:/Test/Test.htm";
window.location.href = url;
但ID没有工作。 试图去用window.location = url;
并且也试图与url = "file://E:/Test/Test.htm";
(双“/”代替了三重“/”)和仍然无法正常工作。
谢谢
同样的问题在这里 ,但我需要去当地的URL在Firefox
我试着用这样的代码
var url = "file:///E:/Test/Test.htm";
window.location.href = url;
但ID没有工作。 试图去用window.location = url;
并且也试图与url = "file://E:/Test/Test.htm";
(双“/”代替了三重“/”)和仍然无法正常工作。
谢谢
当我试试这个:
window.location.href = "file:///C:/Users/Cerbrus/Documents/SomeFile.js"
(是的,这是一个有效的路径。)
铬抛出我这个错误:
不允许加载本地资源:文件:/// C:/Users//Documents/File.js
这是因为JavaScript没有访问本地文件(由于它是沙盒),和你设置使用JavaScript的新网址。
“沙盒”是指一种技术已经限制一组特定的范围之外(或没有)的访问。 在浏览器的情况下,这意味着该网页上运行您的系统上无法访问文件中的代码(否则,它会很容易地“偷”的数据,通过只是随便看看的用户的文件系统)。
然而 ,
再说了,我有2个文件:
C:/Test/Test.htm
C:/Test/Test1.htm
Test.htm
只包含这个:
<script>
window.location = "file:///C:/Test/Test1.htm";
</script>
这实际上会重定向到Test1.htm
,因为目标文件作为源代码文件的来自同一个域。
我猜测它不允许加载从JavaScript 本地资源
除非你有一个本地的HTTP服务器上运行:
var url = "http://localhost/MySite/Default.aspx";
window.location.href = url;
它将工作
你无法从本地系统访问该文件。 由于浏览器工作在沙盒模式 ,你不能违反沙箱,并到达本地文件系统,因为它违反了安全性。 无论是尝试直接加载使用AJAX请求别人你正在尝试做的是不可能的,因为沙盒限制,也没有遵守安全策略。
window.location.href = window.location.pathname +(本地文件名或路径)
window.open(url); // here url can be anything