jQuery load () выдает ошибку «Отказано в доступе» в IE - PullRequest
1 голос
/ 23 декабря 2009

Я загружаю страницу через AJAX с функцией load() в jQuery. Это не работает в IE8, выдавая ошибку «Отказано в доступе». Используя отладчик IE, кажется, что когда jQuery пытается открыть xhr, то есть блокирует его.

Проблема в том, что на моей странице есть javascript src, который указывает на карты bing js api (которые, конечно, находятся в совершенно другой области, чем моя). Мне кажется, что IE пытается захватить этот файл js через xhr, который затем выдает ошибку «Отказано в доступе». Есть ли обходной путь для этого?

Я могу только вспомнить, как сам загружал карты bing и обслуживал их локально.

Ответы [ 5 ]

4 голосов
/ 10 мая 2010

Я сделал еще тест на это. И, похоже, ошибка была вызвана неправильными структурами HTML на странице. Так как это очень сложная страница, на странице не совпадают открытые

или
3 голосов
/ 04 декабря 2010

У меня только что была эта проблема, и я разместил свое решение в этой теме:

jQuery AJAX проблема в IE7 (возможно, и в других версиях)

2 голосов
/ 24 февраля 2010

Я, в конце концов, взял копию сценария и сам включил его, поэтому он находится в том же домене.

0 голосов
/ 10 сентября 2013

Только для справки:

Я столкнулся с этой ошибкой в ​​Windows 8 с IE 10 внутри моего приложения WinForms.

В этом приложении я размещаю WebBrowser элемент управления , который загружает его содержимое со встроенного веб-сервера, а также связывается через window.external с моим приложением WinForms хоста.

Достаточно ключевых слов для рыбалки.

Получение этой ошибки

Теперь, что случилось с этой ошибкой jQuery в моем приложении:

  1. Браузер успешно загрузил URL.
  2. Я программно загрузил другой URL.
  3. Затем я сразу открыл дочернюю форму с Form.ShowDialog.

После закрытия этой формы была показана ошибка jQuery.

Устранение этой ошибки

Я исправил ошибку, отложив открытие дочерней формы до тех пор, пока приложение не будет бездействующим.

т.е. Я использовал список Queue внутри своей главной формы, подписался на событие Application.Idle и внутри этого обработчика событий обрабатывал очередь одну за другой.

Новые шаги теперь были:

  1. Браузер успешно загрузил URL.
  2. Я программно загрузил другой URL.
  3. Поместите действие, чтобы открыть дочернюю форму в очереди ожидания.
  4. Когда очередь ожидания обрабатывается, она открывает дочернюю форму.

Затем ошибка исчезла.

Полагаю, вместо использования этой простой обработки я также мог бы подождать, пока веб-браузер завершит свою загрузку, подписавшись на событие DocumentCompleted и показать оттуда дочерний диалог.

Надеюсь, это кому-нибудь поможет ...

0 голосов
/ 23 декабря 2009

Вы можете включить тег script в API Карт Bing в родительском документе (который выполняет вызов jQuery load()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...