SCRIPT70: разрешение отклонено IE9
Я получаю странную ошибку "SCRIPT70: Permission denied jquery.js, line 21 character 67
" в IE-9. Поиск в Google, но не нашел ничего, кроме ошибки на CKEditor.
Позиция, показанная здесь, содержит только следующее:
P=navigator.userAgent,xa=false,Q=[],M,ca=Object.prototype.toString,da=Object.prototype.hasOwnProperty,ea=Array.prototype.push,R=Array.prototype.slice,V=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(typeof a==="string")if((d=Oa.exec(a))&&(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Sa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];
кто-нибудь сталкивается с этой ошибкой?
* Дополнительная информация: * Мы открываем iframe и вызываем некоторые функции javascript внутри этого iframe.
спасибо.
Ответы
Ответ 1
Ошибка SCRIPT70 в IE9 происходит, скорее всего, когда ваш iframe вызывает некоторый javascript (особенно, если он влияет на родительскую страницу - например, хеш-изменение родительского URL-адреса)
Проверьте соответствие номера хоста/протокола/порта iframe.
IE9 исключительно строго относится к имени хоста (вплоть до части www в моем случае), а document.domain, похоже, не обеспечивает обходного пути для этого.
Обнаружена эта проблема и исправлена при работе с несколькими iframe, надеюсь, что это поможет другим с той же проблемой.
Ответ 2
function Sizzle( selector, context, results, seed ) {
var match, elem, m, nodeType,
// QSA vars
i, groups, old, nid, newContext, newSelector;
// MY EDIT - this try/catch seems to fix IE 'permission denied' errors as described here:
// http://bugs.jquery.com/ticket/14535
try{
document === document; //may cause permission denied
}
catch(err){
document = window.document; //resets document, and no more permission denied errors.
}
if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
setDocument( context );
}
//...... snip .........//
}
http://jsfiddle.net/xqb4s/
Ответ 3
Вы не можете получить доступ к содержимому вашего iframe, если оно указывает на другой домен, чем родительский.
Ответ 4
У меня была эта точная проблема с IE9, и на самом деле это происходит и с IE11.
Моя проблема заключалась в том, что я открывал веб-сайт через http
(т.е. http://mywebsite.com), и iframe внутри моего кода пытался получить доступ часть веб-сайта, используя https
. Это вызвало ошибку. Как только я обратился к веб-сайту с помощью https
, ошибка исчезла. Старая закладка была причиной этого с помощью http
, и сайт был обновлен с помощью https
, поэтому проверьте свои URL.
Ответ 5
Если вы имеете дело с элементом select в script, возможно, ваша проблема похожа на мою.
SCRIPT70: разрешение отклонено при добавлении опций для выбора элемента из недавно закрытого iframe
Ответ 6
Недавно я столкнулся с этой ошибкой. В приложении я работаю, я использую текстовый редактор TinyMce для нашего композитора электронной почты. Это создает iframe, который содержит объекты, которые мне нужны для композитора электронной почты. После просмотра многих блогов об указанной ошибке я попытался программно удалить объект текстового редактора TinyMce, а затем вызвал перенаправление. И это РАБОТАЛО!
Ответ 7
Совет с этой страницы должен помочь: http://forum.jquery.com/topic/strange-behaviour-in-ie9
Убедитесь, что HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_OBJECT_CACHING\iexplore.exe не установлен в 0 (он должен быть 1 или отсутствует)
Ответ 8
Облицовка аналогичной проблемы (возможно, не с jquery.js, но с тем же описанием ошибки), решение было немного отличным от предыдущего. На самом деле я искал другие строки iexplore.exe в regedit. Я нашел другие два и изменил его на 1, и он работал тогда.
hkey_local_machine\software\microsoft\internet explorer\main\featurecontrol\feature_protocol_lockdown
hkey_local_machine\software\microsoft\internet explorer\main\featurecontrol\feature_internet_shell_folders
Ответ 9
Если вы запустите 64-разрядную ОС, убедитесь, что значение этого ключа также установлено на 1: HKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_OBJECT_CACHING\\iexplore.exe
Без этого ключа у нас были случайные ошибки SCRIPT70: Permission denied
в Internet Explorer 11.