我正在尝试开发一个将在 Firefox 3 中使用 javascript 中的 getImageData 的应用程序,但我NS_ERROR_DOM_SECURITY_ERR
在 getImageData 调用中得到一个“”。javascript 和图像当前都由硬盘驱动器提供服务,这显然违反了安全性?当这是现场直播时,它们都将由同一个域提供服务,所以这不会成为问题,但同时我该如何开发呢?
lacker
问问题
6860 次
4 回答
5
您可以告诉浏览器关闭错误。根据您的情况,解决方案是好是坏。我尝试将其包装起来,因此如果不是问题,将不会显示安全对话框。
var data;
try {
try {
data = context.getImageData(sx, sy, sw, sh).data;
} catch (e) {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
data = context.getImageData(sx, sy, sw, sh).data;
}
} catch (e) {
throw new Error("unable to access image data: " + e);
}
于 2008-12-14T12:34:17.577 回答
3
您可以尝试安装本地网络服务器,例如 Apache(在 unix 上)或 IIS(在 Windows 上)。这最终将为您提供与 Web 相关的内容的最佳本地测试平台,因为正如您所发现的,浏览器处理来自文件系统的文件与来自网络服务器的内容完全不同。
于 2008-12-11T06:06:45.000 回答
2
在 Firefox 中,在地址栏中输入“about:config”。然后使用搜索字段搜索“security.fileuri.strict_origin_policy”。双击它以将其设置为“false”。
于 2010-08-06T15:19:00.400 回答
1
我在 FireFox 11.0 中使用时遇到了同样的问题getImageData
……我所有的文件和代码都在我的服务器上,而我的本地计算机上什么也没有。
我想也许这对和我有同样问题的人有帮助。
看起来 Firefox 对待
http://mySite.com
作为不同的域
http://www.mySite.com
所以我曾经在用户不输入时.htaccess
添加www.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mySite\.com$ [NC]
RewriteRule ^(.*)$ http://www.mySite.com/$1 [L,R=301]
现在它工作正常并且不再显示NS_ERROR_DOM_SECURITY_ERR
。
于 2012-04-22T03:49:38.923 回答