最近、ブラウザの互換性の問題がよく発生します。昨日、IE8 と Firefox で画像のプレビューが表示されないことがわかり、今朝ようやく解決しました。それで、私はそれをあなたに共有したいと思います。 IE6 および IE7 に従って開発する場合、通常、画像プレビュー用のコードを作成します。 コードをコピー コード document.getElementById("img").src = document.getElementById("file").value; 別の方法もあります コードをコピー コードは次のとおりです: <br>document.getElementById ("div1").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = document.getElementById("file").value; <br><br> </div>IE8 <br> IE8 および Firefox では、ユーザー control.value はフルパスではなくファイル名のみを取得します <br><br><div class="codetitle"><span><a style="CURSOR: pointer" data="64349" class="copybut" id="copybut64349" onclick="doCopy('code64349')">コードをコピー <u></u></a> コード</span></div> <div class="codebody" id="code64349">var isIE = (document.all) ? true : false; <br>var isIE7 = isIE && (navigator.userAgent.indexOf('MSIE 7.0') != -1 ); <br>var isIE8 = isIE && ( navigator.userAgent.indexOf('MSIE 8.0') != -1); <br>var file = document.getElementById("file"); | isIE8) { <br>file.select( ); <br>document.selection.empty(); <br>document.getElementById("img") .src = img; <br>} <br><br> <br>Firefox<br> Firefox には多くの問題があり、インターネットでさまざまなことを検索しましたが、達成できません。 </div> を取得します。Firefox には多くの問題があり、インターネットでさまざまなことを検索しましたが、達成できません。 <br> 1.まず、アップロードされた質問の完全なパスを取得する必要があります。次のメソッドを使用して完全なパスを取得できます<br><br><br><br><div class="codetitle">コードをコピーします<span><a style="CURSOR: pointer" data="3870" class="copybut" id="copybut3870" onclick="doCopy('code3870')"><u> コードは次のとおりです。</u> </a> </span> if (navigator.userAgent.indexOf("Firefox") != -1) { </div> try {netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect "); <div class="codebody" id="code3870">} catch (e) { <br>} <br>img = document.getElementById("file").value; <br> } <br><br> <br> 2.しかし、このように画像のパス(src)を直接変更しても応答がありませんでした。後で知ったのですが、Firefox でローカル画像を表示するには、先頭に「file:///」を追加する必要があるとのことでした。 <br> </div> <br><br>コードをコピー<div class="codetitle"> <span><a style="CURSOR: pointer" data="85308" class="copybut" id="copybut85308" onclick="doCopy('code85308')"> コードは次のとおりです:<u></u> </a> if (!document.all) { </span>img = img.replace(/\/g, "/"); </div>img = "file:///" img <div class="codebody" id="code85308">} <br><br> <br> このように画像を置くとページ上では表示できますが、IISに配置できないことが前提です。 私のWebサイトはIIS上に展開しているので、画像アドレスを直接入れてもローカル画像では表示されません。 . それで、とても落ち込んでいます。しかも、Firefox にはセキュリティ設定があり、ローカルの画像をプレビューできないと多くの人が言ったので、ほとんど諦めていました。 <br> 最後に、プレビューできる例をインターネットで見つけました。注意深く分析した結果、Firefox で画像をプレビューするための元のコードは実際には非常に単純であることがわかりました。<br> </div> <br><br><br>コードをコピー<div class="codetitle"><span><a style="CURSOR: pointer" data="67554" class="copybut" id="copybut67554" onclick="doCopy('code67554')"> コードは次のとおりです:<u></u> </a> document.getElementById("img").src = document.getElementById("file").files[ 0].getAsDataURL(); </span></div> <div class="codebody" id="code67554"> そのパスをポップアップしてみると、指定された画像タイプなどの長い文字列であることがわかりましたが、最終的に解決しました。</div>