Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript转到本地URL_Javascript_Url_Firefox_Local - Fatal编程技术网

使用Javascript转到本地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

和问题相同,但我需要转到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://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中看到它。