Ошибки возникающие, при работе с Ajax
uncaught exception: permission denied to call method XMLHttpRequest.open
Эта ошибка возникает при обращении к домену, отличному от текущего.
Пути решения
- Отказаться от использования сторонних рессурсов и перенести все необходимое на свой сервер.
-
решение для Internet Explorer:
Описание дано для русскоязычной версии IE7 + WinXP SP2 Rus. В других версиях/языках нужно исправить аналогичные настройки.
Свойства обозревателя > закладка "Безопасность" > зона "Надежные узлы" > кнопка "Узлы". Снять галочку "Для всех узлов этой зоны требуется проверка серверов (https:)", добавить узел seochecker.net и нажать кнопку "Закрыть". Выбрать "Уровень безопасности для этой зоны" нажав на кнопку "Другой..." Найти параметр "Разное" > "Доступ к источникам данных за пределами домена", выбрать "Предлагать" (при открытии сайта htmlweb.ru вам нужно будет отвечать "да" на запрос безопасности) или "Включить" (дополнительных запросов не будет) и сохранить изменения.
Перейти на главную страницу и продолжить работу.
решение для 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);
}