8

http://demo.swfupload.org/v250beta2/simpledemo/index.phpはIEでは機能しなくなったようです。これに対する修正はありますか?

代わりに赤い十字が表示され、「ボタン」をクリックできません。

IE8を実行しています。

4

3 に答える 3

11

Windows 7 で実行されている IE9 で問題を再現できましたが、仮想マシンでのみ発生しました。とにかく、この投稿のおかげで、swfupload.js (v2.2.0) の 230 行付近にパッチを適用することで、問題を修正するためにクイックアンドダーティを適用することができました。

SWFUpload.prototype.getFlashHTML = function () {
    // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay

    // ADD THESE LINES --> 
    var iefix = '';
    if(navigator.userAgent.search(/MSIE/) > -1){
        iefix = 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
    }

    // MODIFY THIS LINE: (add ' + iefix + ')
    return ['<object ' + iefix + ' id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',
        '<param name="wmode" value="', this.settings.button_window_mode, '" />',
        ...

非常によく似た修正が 2.5.0 にも役立つようです。

編集:この修正は、「VMware Adob​​e Flash Optimizer」と呼ばれる IE アドオンが有効になっている一部の VM では不十分だったようです。何らかの理由で、オプティマイザは Flash ムービーを白いボックスに変えます (クリックすることが分かっていれば、実際にはクリック可能です)。

悪いニュースは、コード内のオプティマイザー アドオンの存在を検出または無効にする方法が見つからなかったことです。そのため、ユーザーが実際にボタンを見ているのか、白いボックスだけを見ているのかはわかりません。適切な回避策が見つかりませんでした。Flash 以外のアップロード フォームへのフォールバック リンクを追加しただけです。

于 2012-04-18T12:31:27.857 に答える
2

問題を抱えているのはあなただけではありません。また、swfuploader Web サイト自体にもあります。見てみましょう: http://demo.swfupload.org/v220/simpledemo/index.php

于 2010-08-30T17:43:06.157 に答える
1

アドオンが邪魔をしている可能性があります。「アドオンなし」モードで IE 8 を実行してみてください。http://support.microsoft.com/kb/936213から:

方法 3: Internet Explorer を「アドオンなし」モードで実行する

ActiveX コントロールやブラウザー ツールバーなどの Internet Explorer アドオンは、強化されたブラウジング エクスペリエンスを提供するために一部の Web サイトで使用されます。アドオンが破損している場合、またはアドオンが Internet Explorer と競合している場合、エラーが発生することがあります。エラーの原因がアドオンかどうかを判断するには、Internet Explorer を「アドオンなし」モードで実行します。これを行うには、次の手順を実行します。

  1. [スタート]をクリックし、 [検索の開始] ボックスにInternet Explorerと入力します。
  2. Internet Explorer (アドオンなし) をクリックします。Internet Explorer は、アドオン、ツールバー、またはプラグインなしで開きます。
  3. Internet Explorer をテストして、正しく動作することを確認します。問題が解決しない場合は、方法 4 を試してください。

エラーが発生しない場合、問題は通常 Internet Explorer と共に読み込まれるアドオンの 1 つが原因です。この場合、次のオプションのいずれかを使用します。

オプション 1: Internet Explorer をリセットする

Internet Explorer を既定の構成にリセットします。この手順により、インストールされているアドオン、プラグイン、またはツールバーも無効になります。この解決策は迅速ですが、将来これらのアドオンを使用する場合は、それらを再インストールする必要があることも意味します. Internet Explorer の設定をリセットするには、方法 4 を使用します。

オプション 2: アドオンの管理ツールを使用して、問題の原因となっているアドオンを特定する

Internet Explorer のアドオンの管理ツールを使用して、各アドオンを個別に無効にし、エラーの原因となっているアドオンを特定します。これを行うには、次の手順を実行します。

インターネット エクスプローラー 8

  1. Internet Explorer 8 を開きます。
  2. [ツール] をクリックし、[アドオンの管理] をクリックします。
  3. [表示] ドロップダウン メニューで、[すべてのアドオン] を選択して、コンピューターにインストールされているすべてのアドオンを表示します。
  4. このリストの各項目について、アドオンを選択し、[情報] ウィンドウで[無効にする] をクリックします。
  5. このリストのすべての項目を無効にしたら、[ OK ] をクリックします。
  6. Internet Explorer を終了して再起動します。
  7. 問題が再発しない場合は、手順 1 ~ 3 を繰り返します。
  8. 単一のアドオンに対して[有効にする] をクリックします。
  9. エラーの原因となっているアドオンが特定できるまで、手順 6 ~ 8 を繰り返します。

このプロセスを使用してエラーの原因となっているアドオンを特定したら、そのアドオンを無効にすることができます。または、アドオンをインストールするソフトウェアをアンインストールできます。また、追加のトラブルシューティングとサポートについて、アドオンを提供したソフトウェア ベンダーに問い合わせることをお勧めします。」

于 2010-02-05T04:06:11.967 に答える