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.

Ответ 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.