3

入力が変更されるたびにフォームを送信するonchangeイベントを含む入力タイプファイルを含むiframe内にフォームがあり、IEでエラーが発生するのは他のブラウザーでのみ機能します。

例(簡略版)

<form id="form1">
<input type="file" id="_file" onchange="document.forms[0].submit();$('#form1').hide()" />
<input type="button" onclick="$('#_file').click();" />
</form>

次に、IE8はこのエラーを出します:

SCRIPT5: Access is denied.

IEが、ユーザーによって起動されなかったイベントから送信することはセキュリティリスクであると考えているという事実、またはiframeで発生するという事実に関係している可能性があるという事実と関係があると私は信じています。これを回避する方法についてのアイデアはありますか?

編集

この問題は、input [type:file]が非表示になっていることに関係しているようです。幅が狭く、不透明度が0です。表示して送信ボタンを配置すると機能しますが、input [type:file]が表示されず、送信ボタンがなくても機能する必要があります。ただし、input [type:file]を表示して試してみたところ、onchangeでの送信はまだ機能しません。

4

1 に答える 1

4

プログラムでファイル入力を設定して送信すると、IEがそれを気に入らないことが問題のようです。これを回避する方法が見つかったので、あきらめます。ユーザーがIEを使用している場合、フォールバックとしてJqueryuploadifyを使用することを選択しています。これはフラッシュに望ましくない依存関係を置きますが、それは私が思いつくことができる最良の選択肢です。

于 2012-05-08T05:28:46.527 に答える