манипулирование location.href кадра с плагином PDF в IE9 - PullRequest
0 голосов
/ 09 ноября 2011

Я испытываю довольно странное поведение в IE9 при загрузке PDF в рамке с помощью Javascript.Документ будет загружен один раз, но любой последующий вызов приведет к SCRIPT65535: Invalid calling object.

. Я создаю свой URL из Javascript и загружаю через top.framename.location.href='file1.pdf'.Если вы начинаете с PDF-файла во фрейме, он выдаст ошибку при первом вызове скрипта.

Таким образом, похоже, вам больше не разрешено изменять свойство location.href фрейма, в которомплагин Adobe Reader (версия 10) загружен.Тот же код с документами HTML работает нормально.

Кто-нибудь знает, почему это поведение было изменено, и если есть обходной путь, отличный от использования эмуляции IE8 с <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">?

Я тожене ищу обходных путей, которые полностью избегают Javascript.Существует множество вариантов, например создание ссылки в другом месте и загрузка ее с атрибутом target, но я бы очень хотел сделать это с Javascript.

Если вы хотите проверить / воспроизвести, вы можете использовать:

<frameset cols="150,*">
<frame src="toc.html"/>
<frame src="about:blank" name="otherframe"/>
</frameset>

и в toc.html:

<a onclick="javascript:top.otherframe.location.href='1.pdf'">pdf1</a><br/>
<a onclick="javascript:top.otherframe.location.href='2.pdf'">pdf2</a>

Ответы [ 2 ]

0 голосов
/ 12 сентября 2012

Была такая же проблема.

В IE9 объект фрейма заменяется каким-либо объектом PDF, который не содержит свойства location.Поэтому во второй раз вы не можете обновить URL фрейма с помощью location.

. Вы можете решить эту проблему с помощью window.open ()

window.open('1.pdf', 'otherframe');
0 голосов
/ 14 декабря 2011

Взгляните сюда:

http://forum.jquery.com/topic/internet-explorer-9-jquery-and-divx

Когда я захожу в инструменты разработчика IE9 (F12) и на вкладке «Сценарий» нажимаю Кнопка запуска отладки, я получаю подробную информацию об ошибке: SCRIPT65535: Недопустимый блок скрипта вызывающего объекта (2), строка 72 символа 4

Когда вы смотрите на строку сценария 72, эта строка подсвечивается: appendChildOriginal (элемент);

Затем я перехожу к IE9, Управление надстройками, в разделе Панели инструментов и расширения, смотрите для Divx, LLC и отключить Divx Plus Web Player HTML5 и DivX HiQ и перезапустите браузер IE9.

Ошибка исчезла, и мое веб-приложение работает отлично.

...