使用Javascript转到本地URL
和问题相同,但我需要转到Firefox中的本地URL 我试过像这样的代码使用Javascript转到本地URL,javascript,url,firefox,local,Javascript,Url,Firefox,Local,和问题相同,但我需要转到Firefox中的本地URL 我试过像这样的代码 var url = "file:///E:/Test/Test.htm"; window.location.href = url; 但我没有工作。尝试使用window.location=url并尝试使用url=“file://E:/Test/Test.htm”(双“/”而不是三“/”),仍然不起作用 谢谢我想它不允许从javascript加载本地资源 除非本地http服务器正在运行,否则: var url = "http
var url = "file:///E:/Test/Test.htm";
window.location.href = url;
但我没有工作。尝试使用window.location=url
并尝试使用url=“file://E:/Test/Test.htm”代码>(双“/”而不是三“/”),仍然不起作用
谢谢我想它不允许从javascript加载本地资源
除非本地http服务器正在运行,否则:
var url = "http://localhost/MySite/Default.aspx";
window.location.href = url;
它将工作您无法从本地系统访问该文件。由于浏览器在沙箱模式下工作,您无法破坏沙箱并访问本地文件系统,因为这会违反安全性。要么尝试使用AJAX请求直接加载,要么由于沙箱限制,您尝试执行的操作是不可能的,而且也不符合安全策略。尝试此操作时:
window.open(url); // here url can be anything
window.location.href = "file:///C:/Users/Cerbrus/Documents/SomeFile.js"
(是,这是一个有效路径。)
Chrome向我抛出以下错误:
不允许加载本地资源:file:///C:/Users//Documents/File.js
这是因为JavaScript无法访问本地文件(因为它是沙盒文件),并且您正在使用JavaScript设置新的url。
“沙盒”是指一项技术在一定范围外限制(或没有)访问。对于浏览器,这意味着页面上运行的代码无法访问系统上的文件(否则,只需查看用户的文件系统,就很容易“窃取”数据)
但是
比如说,我有两个文件:
C:/Test/Test.htm
C:/Test/Test1.htm
Test.htm
仅包含以下内容:
<script>
window.location = "file:///C:/Test/Test1.htm";
</script>
window.location=”file:///C:/Test/Test1.htm";
这实际上将重定向到Test1.htm
,因为目标文件与源文件所在的域位于同一个域中。window.location.href=window.location.pathname+(您的本地文件名或路径),如果我以file:///C:/Users/arun.ak/Desktop/somting.html 同样的规则也适用?@ArunKillu:是的。JavaScript无法从其他域访问该文件。@我知道,但当我们只需双击(作为文件)打开编写js的html时,重定向works@ArunKillu:如果是这样(从文件运行的html:
)的话,OP的代码就会起作用,而且他也不会问这个问题。@Cerbrus-hmm…我后来才明白…我也删除了我的答案。但我无法说服你。(旁注:我不完全相信“”在这里不起作用,因为我们还将协议更改为文件:
)真棒的答案!因此,脚本不能从托管网页工作,但可以从本地htm文件工作。但是bookmarklet呢?我需要把我的脚本放在书签里。对我来说不起作用,但书店是本地的,这是什么原因?感谢其他人的回答。这似乎也不起作用,@BearBear:javascript:(function(){window.location=)file:///C:/Test/Test1.htm";}());
我不清楚如何将顶级浏览上下文导航到文件:
URL可以为导航脚本提供任何信息,因为导航脚本显然将被终止。我认为这可能是一个问题的唯一情况是iframe中的文件:
资源,它可能泄漏某种onload
信息,例如,基于加载时间的文件的存在或大小。我想不出任何情况下,顶级浏览上下文的导航会导致导航脚本的信息泄漏,但我可以在iFrame中看到它。