Mic*_*ael 6 html javascript firefox file local
我的本地主机(端口 8080)上运行着一台服务器,它试图为本地文件创建 IMG 标签。但是,这些文件不会出现在 Firefox 11 中。
我最初是使用 Javascript 创建图像标签,但由于失败,我又转而使用 HTML 来尝试直接引用文件的各种方法。以下均无效:
<img src="file:///localhost:8080/C://Users/me/IMG_1000.JPG">
<img src="file:///localhost/C://Users/me//IMG_1000.JPG">
<img src="file:///C://Users/me/IMG_1000.JPG">
Run Code Online (Sandbox Code Playgroud)
如果我将最后一个 URL 直接粘贴到地址栏中,则图像可以正常打开。
我已按照此处的说明进行操作:
http://kb.mozillazine.org/Firefox_:_Issues_:_Links_to_Local_Pages_Don%27t_Work
我尝试过直接修改 user.js 和 prefs.js 以及通过 about:config 查看器修改。
我从“帮助”->“故障排除信息”->“配置文件目录”->“打开包含文件夹”获得了配置文件目录的正确路径。
添加的相关行是:
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
user_pref("capability.policy.localfilelinks.sites", "localhost:8080");
user_pref("capability.policy.policynames", "localfilelinks");
Run Code Online (Sandbox Code Playgroud)
我最初将 http:// 放在“localhost:8080”中,但 Firefox 删除了它。我也尝试了“http://localhost”和“http://127.0.0.1”,但这些也不起作用。
但是......奇怪的是,即使我从 about:config 输入它们并且可以在 prefs.js 中看到它们,我却无法从 about:config 看到它们!这让我觉得也许 mozillazine 上的信息已经过时了,毕竟它说该信息适用于“Firefox 1.5 及更高版本”,而我正在使用 Firefox 11!
注意:我想使用 file:// 访问的原因是我不想允许任意访问我的计算机上的文件。多解释一下:我有一个数据库接口,访问数据库所需的只是密码。这很好,因为我想允许任何拥有密码的人在我的机器外部访问数据库,但图像文件存在于数据库外部。为了通过服务器提供文件(因为存在的文件是动态的),我需要创建一个新的 CGI,它在数据库中采用某种标识符,但由于用户可以访问数据库,他们可以注入任何文件名他们想。
编辑:另外,我也无法 window.open() 文件 URL。这可能带来什么安全好处?
<img src="file:///localhost:8080/C://Users/me/IMG_1000.JPG">
<img src="file:///localhost/C://Users/me//IMG_1000.JPG">
Run Code Online (Sandbox Code Playgroud)
如果它是 8080 上的服务器,则不应使用 file:// ——它不是文件。它应该是http://localhost:8080/blah。我不认为它是这样工作的,但第二个(如果它应该工作)将是 file://localhost/c:/* - 注意斜杠的数量。上面的行在应该是 / 的地方多了一个 //
<img src="file:///C://Users/me/IMG_1000.JPG">
Run Code Online (Sandbox Code Playgroud)
现在这是有道理的,尽管由于安全限制,您访问它的能力将受到限制。
user_pref("capability.policy.localfilelinks.sites", "localhost:8080");
Run Code Online (Sandbox Code Playgroud)
如果页面是从http://localhost:8080/ * 加载的,那么(可能)应该可以使用 file:///c:/* 的内容。
| 归档时间: |
|
| 查看次数: |
31424 次 |
| 最近记录: |