SCRIPT70: Отказано в доступе IE9

Я получаю странную ошибку "SCRIPT70: Permission denied jquery.js, line 21 character 67" в IE-9. Искал в гугле, но ничего не нашел, кроме бага в 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.

благодаря.


person mehmet6parmak    schedule 18.03.2011    source источник
comment
Вам нужно воспроизвести его с неминифицированной версией, чтобы вы могли видеть строку кода, которая на самом деле вызывает это.   -  person ThiefMaster    schedule 18.03.2011
comment
Я только что понял, он не позволяет использовать какой-либо файл сценария. Я мог видеть довольно простую строку в неминифицированном файле js. var imageType = jQuery(#imageType).val(); мы открываем iframe и пытаемся запустить javascript внутри, может ли это быть причиной?   -  person mehmet6parmak    schedule 18.03.2011


Ответы (9)


Ошибка SCRIPT70 в IE9, скорее всего, возникает, когда ваш iframe вызывает какой-либо javascript (особенно если это влияет на родительскую страницу — например, изменение хэша родительского URL-адреса)

Убедитесь, что номер хоста/протокола/порта вашего iframe совпадает. IE9 исключительно строго относится к имени хоста (в моем случае вплоть до части www), и document.domain, похоже, не предоставляет обходного пути для этого.

Обнаружил эту проблему и исправил ее при работе с несколькими фреймами, надеюсь, это поможет другим с той же проблемой.

person Timothy    schedule 06.05.2012
comment
Я получаю это с помощью window.postMessage из iFrame в родительский домен перекрестного происхождения в IE11. С браузером Edge работает нормально. Может ли кто-нибудь более подробно объяснить соответствие номера хоста/протокола/порта, пожалуйста? - person user2568374; 27.05.2018

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/

person kamau wairegi    schedule 08.09.2014
comment
Вы должны добавить поясняющий текст к своему ответу. Кроме того, я не вижу, как ваш jsfiddle что-то демонстрирует - person Peter Sorowka; 08.09.2014
comment
вам нужно отредактировать файл jquery-*.js и добавить функцию try catch в функцию sizzle (функция, вызывающая отказ в доступе). Мне не нравится играть в файл jquery, но это решает проблему - person David; 27.08.2015

У меня была именно такая проблема с IE9, и на самом деле это происходит и с IE11.

Моя проблема заключалась в том, что я открывал веб-сайт через http (т.е. http://mywebsite.com), и iframe в моем коде был пытается получить доступ к части веб-сайта, используя https. Это вызывало ошибку. Как только я зашел на сайт с помощью https, ошибка исчезла. Причиной этого была старая закладка с использованием http, а сайт был обновлен с помощью https, поэтому проверьте свои URL-адреса.

person Flea    schedule 01.06.2016

Вы не можете получить доступ к содержимому вашего iframe, если оно указывает на домен, отличный от родительского сайта.

person ThiefMaster    schedule 18.03.2011

Если вы имеете дело с элементом select в своем скрипте, возможно, ваша проблема похожа на мою

SCRIPT70: разрешение отклонено при добавлении параметров в выбрать элемент из недавно закрытого iframe

person Lucas Ayala    schedule 04.03.2014

Недавно я столкнулся с этой ошибкой. В приложении, над которым я работаю, я использую текстовый редактор TinyMce для создания нашего электронного письма. Это создает iframe, который содержит объекты, которые мне нужны для компоновщика электронной почты. Увидев много блогов об указанной ошибке, я попытался программно удалить объект текстового редактора TinyMce, а затем активировал перенаправление. И это РАБОТАЛО!

person Marc De Joya    schedule 12.03.2015

Столкнувшись с похожей проблемой (возможно, не с 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
person makriria    schedule 29.05.2013

Если вы используете 64-битную ОС, убедитесь, что значение этого ключа также равно 1: HKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_OBJECT_CACHING\\iexplore.exe

Без этого ключа у нас было SCRIPT70: Permission denied случайных ошибок в Internet Explorer 11.

person AgileArchitect    schedule 18.02.2014

Совет с этой страницы должен помочь: 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 или отсутствовать)

person meloniq    schedule 17.10.2012
comment
Хм, неужели они действительно ожидают, что я расскажу об этом всем пользователям IE9, которые посещают мой публичный сайт? - person Marcel Stör; 30.10.2013
comment
Это худшая идея. Вы не можете ожидать, что я скажу своим 30 миллионам пользователей изменить свой реестр. Ты серьезно? - person Ryan; 24.06.2014