2008-12-11 36 views
2

我試圖開發一個應用程序,它將在Firefox 3中使用javascript中的getImageData,但我在getImageData調用中獲得「NS_ERROR_DOM_SECURITY_ERR」。 JavaScript和圖像目前都是通過硬盤提供的,顯然這是一種安全違規行爲?如果這是現場直播,他們都將從同一個領域提供服務,所以這不會是一個問題,但我該如何發展呢?Firefox 3中的getImageData導致NS_ERROR_DOM_SECURITY_ERR

回答

3

您可以嘗試安裝本地Web服務器,如Apache(在Unix上)或IIS(在Windows上)。這將最終爲您提供與網絡相關的最佳本地測試平臺,因爲您發現瀏覽器對待文件系統中的文件與網絡服務器中的內容完全不同。

+0

好主意,我將開始運行Apache(我在OS X上)。 – lacker 2008-12-11 06:12:17

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

我在一個本地主機端口上玩asp.net,並從另一個本地主機端口編輯css,這有助於我避開,否則我無法訪問document.styleSheets [x] .cssRules。十分感謝! – Assembler 2010-08-06 06:49:43

2

在Firefox中,在地址欄中輸入「about:config」。然後使用搜索字段搜索「security.fileuri.strict_origin_policy」。雙擊此設置爲「false」。

+0

這有效,比安裝服務器僅僅在本地測試一些javascript容易得多。 – captncraig 2011-06-28 15:45:41

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了。

相關問題