FF和Chrome中的 ftp:// 网页不会加载 file:// 脚本

ftp:// web page in FF and Chrome does not load file:// script

本文关键字:加载 file 脚本 FF Chrome 中的 ftp 网页      更新时间:2023-09-26

我正在构建一个只能通过ftp访问的网页:

ftp://192.168.0.1.cutthis/mypage.html

此 url 在浏览器中打开页面,就像我使用 http 协议一样。

该页面包含一个动态 GUI。为了使它的开发更容易,我已将所有javascript移动到我有权访问的机器(192.168.0.2(上,因此我可以更快地对其进行编辑。在 mypage.html 的 html 源代码中,脚本行为:

<script type="text/javascript" src="file://///192.168.0.2/myscript.js"></script>

FF和Chrome加载脚本(Firebug确认了这一点(,但不运行它。只有IE运行它。

如何强制 FF 和/或 Chrome 运行脚本?或者我怎样才能过度解决问题?

跨协议脚本?

方法一:

对于 Chrome 尝试扩展程序:本地链接

对于 FF 尝试扩展:本地链接、本地文件系统链接、IE 选项卡

方法2:

使用 --

allow-file-access-from-files 标志运行 Chrome或者可以尝试禁用跨站点脚本的其他标志(警告:这很危险(

在FF中配置安全策略(为您的站点创建特殊策略 - 在此处阅读:Links_to_local_pages_don't_work,Security_Policies(

但是,我仍然不确定所有这些是否有帮助。FTP:网址是一个特例

MDN说同源策略:

同一源策略可防止从一个源加载的文档或脚本从另一个源获取或设置文档的属性。

myscript.js来自源file:////192.168.0.2/,但它被加载到具有源ftp://192.168.0.1.cutthis的页面中。我的猜测是跨域脚本无法执行您希望它执行的操作,因为它是从不同的源加载的。

解决方案是在同一源上托管脚本和页面(即,也通过file://提供HTML页面,甚至更好的是,在本地HTTP服务器上同时提供它们(。