getImageData в Firefox 3, вызывающий NS_ERROR_DOM_SECURITY_ERR

Я пытаюсь разработать приложение, которое будет использовать getImageData в javascript в Firefox 3, но я получаю "NS_ERROR_DOM_SECURITY_ERR" при вызове getImageData. Javascript и изображение в настоящее время обслуживаются с жесткого диска, что, по-видимому, является нарушением безопасности? Когда это будет запущено, они оба будут обслуживаться из одного и того же домена, так что это не будет проблемой, но как я могу развиваться в это время?


person lacker    schedule 11.12.2008    source источник


Ответы (4)


Вы можете попробовать установить локальный веб-сервер, такой как Apache (в Unix) или IIS (в Windows). Это в конечном итоге даст вам лучший локальный тестовый стенд для веб-вещей, потому что, как вы узнали, браузеры обрабатывают файлы из файловой системы совершенно иначе, чем контент, обслуживаемый веб-сервером.

person Marc Novakowski    schedule 11.12.2008
comment
Хорошая идея, я начну запускать Apache (у меня OS X). - person lacker; 11.12.2008

Вы можете указать браузеру отключиться. Решение лучше или хуже в зависимости от ваших обстоятельств. Я оборачиваю его в попытку, поэтому диалоговое окно безопасности не будет отображаться, если это не проблема.

  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);
  }
person Justin Love    schedule 14.12.2008
comment
Я играю с asp.net на одном порту локального хоста и редактирую css, перетащенный из другого порта локального хоста, и это помогает мне обойти это, иначе я не смог бы получить доступ к document.styleSheets[x].cssRules. Большое спасибо! - person Assembler; 06.08.2010

В Firefox введите «about:config» в адресную строку. Затем используйте поле поиска для поиска «security.fileuri.strict_origin_policy». Дважды щелкните это, чтобы установить «false».

person Roger    schedule 06.08.2010
comment
Это работает, и это намного проще, чем установка сервера только для локального тестирования JavaScript. - person captncraig; 28.06.2011

У меня была такая же проблема при использовании getImageData в FireFox 11.0... Все мои файлы и коды были на моем сервере и ничего не было на моем локальном компьютере.

Я подумал, может быть, это поможет кому-то, у кого такая же проблема, как у меня.

Похоже, что 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.

person nodehi    schedule 22.04.2012