Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

Ошибки возникающие, при работе с Ajax

uncaught exception: permission denied to call method XMLHttpRequest.open

Эта ошибка возникает при обращении к домену, отличному от текущего.

Пути решения

  1. Отказаться от использования сторонних рессурсов и перенести все необходимое на свой сервер.
  2. решение для Internet Explorer:

    Описание дано для русскоязычной версии IE7 + WinXP SP2 Rus. В других версиях/языках нужно исправить аналогичные настройки.

    Свойства обозревателя > закладка "Безопасность" > зона "Надежные узлы" > кнопка "Узлы". Снять галочку "Для всех узлов этой зоны требуется проверка серверов (https:)", добавить узел seochecker.net и нажать кнопку "Закрыть". Выбрать "Уровень безопасности для этой зоны" нажав на кнопку "Другой..." Найти параметр "Разное" > "Доступ к источникам данных за пределами домена", выбрать "Предлагать" (при открытии сайта htmlweb.ru вам нужно будет отвечать "да" на запрос безопасности) или "Включить" (дополнительных запросов не будет) и сохранить изменения.

    Перейти на главную страницу и продолжить работу.

  3. решение для Mozzila FireFox:

    Создать файл user.js:

    user_pref("capability.principal.codebase.htmlweb.granted", "UniversalBrowserRead");
    user_pref("capability.principal.codebase.htmlweb.id", "http://htmlweb.ru");
    user_pref("capability.principal.codebase.htmlweb.subjectName", "htmlweb");
    
    user_pref("capability.principal.codebase.htmlwebwww.granted", "UniversalBrowserRead");
    user_pref("capability.principal.codebase.htmlwebwww.id", "http://htmlweb.ru");
    user_pref("capability.principal.codebase.htmlwebwww.subjectName", "htmlweb");
    
    user_pref("signed.applets.codebase_principal_support", true);
    
    Вместо htmlweb.ru подставьте свой сайт. Поместите его в директорию вашего профиля Firefox. Обычно путь к этой директории имеет вид:
    C:\Documents and Settings\логин_пользователя\
    	Application Data\Mozilla\Firefox\Profiles\
    		случайные_символы.default\
    
    Файл не переименовывать, оставить название user.js. Перезапустить Firefox.

    Данная операция добавит сайт указанный вами домен в "доверенные", которым разрешено получать данные с источников за пределами домена.

    Кроме этого, выключите Firebag для этого сайта!

    Для проверки из javascript доступности получения информации из-за пределов домена я использую следующий код:

    if(!window.ActiveXObject)
    try {
    if (
    netscape.security.PrivilegeManager.enablePrivilege) {
        
    netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
        }
    } catch (
    e) {alert('Настройка безопасности браузера не позволяет обращаться к другим сайтам!\n'+e); return false;}

    Обработка ошибки метода open объекта ajax:

    try {
      
    ajaxObj.open ('GET'url); }
    catch (
    e) {if(window.ActiveXObject)alert('Разрешите получать информацию с других сайтов!\n'+e);
           else 
    alert('Выключите Firebag для этого сайта,\nиначе Вы не сможете увидеть весь анализ на одной странице!\n'+e);
          }

.