Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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 Firefox3中的getImageData导致NS\u错误\u DOM\u安全性\u错误_Javascript_Firefox_Getimagedata - Fatal编程技术网

Javascript Firefox3中的getImageData导致NS\u错误\u DOM\u安全性\u错误

Javascript Firefox3中的getImageData导致NS\u错误\u DOM\u安全性\u错误,javascript,firefox,getimagedata,Javascript,Firefox,Getimagedata,我正在尝试开发一个应用程序,在Firefox3中使用javascript中的getImageData,但是在getImageData调用中我得到了一个“NS\u ERROR\u DOM\u SECURITY\u ERR”。javascript和图像目前都由硬盘提供,这显然违反了安全性?如果这是实时的,它们都将从同一个域提供服务,因此这不会是一个问题,但我如何同时开发?您可以尝试安装本地Web服务器,例如Apache(在unix上)或IIS(在Windows上)。这将最终为您提供与web相关的最佳

我正在尝试开发一个应用程序,在Firefox3中使用javascript中的getImageData,但是在getImageData调用中我得到了一个“
NS\u ERROR\u DOM\u SECURITY\u ERR
”。javascript和图像目前都由硬盘提供,这显然违反了安全性?如果这是实时的,它们都将从同一个域提供服务,因此这不会是一个问题,但我如何同时开发?

您可以尝试安装本地Web服务器,例如Apache(在unix上)或IIS(在Windows上)。这将最终为您提供与web相关的最佳本地测试平台,因为您已经发现,浏览器对文件系统中的文件的处理方式与web服务器提供的内容的处理方式完全不同。

您可以告诉浏览器关闭bug。解决方案是好是坏取决于你的情况。我将它包装在一个try中,这样如果它不是问题,就不会显示任何安全对话框

  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);
  }

在Firefox中,在地址栏中键入“about:config”。然后使用搜索字段搜索“security.fileuri.strict\u origin\u policy”。双击此按钮将其设置为“false”。

在Firefox11.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\u ERROR\u DOM\u SECURITY\u ERR

好主意,我将开始运行Apache(我在OS X上)。我在一个本地主机端口上玩asp.net,编辑从另一个本地主机端口拖入的css,这有助于我四处走动,否则我无法访问document.styleSheets[X].cssRules。非常感谢!这是可行的,并且比安装一台服务器只是在本地测试一些javascript要容易得多。