2011-11-08 2 views
0

Javascriptを使用してPDFをフレームに読み込む際に、IE9で奇妙な動作が発生しています。ドキュメントは一度読み込まれますが、それ以降の呼び出しではSCRIPT65535: Invalid calling objectになります。IE9でPDFプラグインを使用したフレームのlocation.hrefを操作する

私はJavaScriptからURLを構築し、top.framename.location.href='file1.pdf'をロードしています。フレーム内のPDFで開始すると、スクリプトの最初の呼び出し時にエラーが発生します。

Adob​​e Readerプラグイン(バージョン10)が読み込まれたフレームのlocation.hrefプロパティを変更できなくなったようです。 HTML文書と同じコードがうまくいきます。

誰でもこの動作が変更された理由を知っていますか?<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">でIE8エミュレーション以外の回避策がある場合は、

また、Javascriptを完全に回避する回避策も探していません。リンクを別の場所に構築し、target属性でロードするなど、さまざまなオプションがありますが、これはJavascriptで本当にしたいと思います。

あなたが使用することができ、再現/テストする場合:

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

とtoc.htmlで:

​​

答えて

0

はこちらをご覧ください:

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

When I go to IE9 developer tools (F12) and under Script tab, click on Start debugging button, I get details about the error: SCRIPT65535: Invalid calling object script block (2), line 72 character 4

When you look at the script line 72, this line is highlighted: appendChildOriginal(element);

Then I go to IE9, Manage add-ons, under Toolbars and Extensions, look for Divx, LLC and disable Divx Plus Web Player HTML5 and DivX HiQ and restart IE9 Browser.

The error is gone and my web application work perfectly.

+0

使用することによってこの問題を解決することができます。残念ながら、Divxプラグインはインストールされていないので、それを引き起こすことはできません。また、それは普通のjavascriptで起こります。私はあきらめて、攻撃者がIE8やIE7の動作を強制することができる限り、新しいセキュリティ対策の副作用であるに違いないと判断しました。 –

0

同じ問題。

IE9では、フレームオブジェクトは、locationプロパティを含まないPDFオブジェクトに置き換えられます。したがって、2回目にフレームURLをlocationで更新することはできません。

あなたは、私が見つけた唯一の参照がしたwindow.open()を

window.open('1.pdf', 'otherframe'); 
関連する問題