繁体   English   中英

使用Javascript转到本地URL

[英]Go to local URL with Javascript

同样的问题在这里 ,但我需要去当地的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"

(是的,这是一条有效的道路。)

Chrome会抛出此错误:

不允许加载本地资源:file:/// C:/Users//Documents/File.js

这是因为JavaScript无法访问本地文件(由于它是沙箱),并且您使用JavaScript设置新的URL。
“SandBoxed”意味着技术限制(或不限制)在特定边界之外的访问。 对于浏览器,这意味着在页面上运行的代码无法访问系统上的文件(否则,通过查看用户的文件系统,很容易“窃取”数据)。

但是

说,我有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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM