7

メールのキャプチャを実装しています。ボタンをクリックすると、linkEmailメールモーダルが開きます。そこで、ボタンのクリック時にハンドラー (CaptchaGenerator.ashx) によって生成されたキャプチャ イメージを設定する必要がありlinkEmailます。これがそのコードです。

$(".linkEmail").click(function () {
  //Load captcha image
  $('.imgCaptcha').attr('src', '/Custom/AppCode/Utilities/CaptchaGenerator.ashx');
  $('#emailModal').modal();
});

上記のコードは Chrome では問題なく動作しますが、IE と firefox では動作しません。私は以下を試しましたが、運はありません。

HTML:

<p id="captchacontainerp" class="captchacontainer"></p>
-------------------------------------------------------------
$('#captchacontainerp').prepend($("<img id='imCaptcha' class='imgCaptcha' src='/Custom/AppCode/Utilities/CaptchaGenerator.ashx'></img>"));
-------------------------------------------------------------
var img = $('<img id="imCaptcha" class="imgCaptcha">');
img.attr('src', '/Custom/AppCode/Utilities/CaptchaGenerator.ashx');
$('#captchacontainerp').empty();
img.appendTo('#captchacontainerp');
---------------------------------------------------------------
$('#captchacontainerp').empty();
$('#captchacontainerp').append($("<img id='imCaptcha' class='imgCaptcha' src='/Custom/AppCode/Utilities/CaptchaGenerator.ashx'></img>"));
4

4 に答える 4

9

IE はすべての GET リクエストをキャッシュするため、リクエスト URL にタイムスタンプを追加します。

$(".linkEmail").click(function () {
   //Load captcha image
   $('.imgCaptcha').attr('src', '/Custom/AppCode/Utilities/CaptchaGenerator.ashx?'+new Date().getTime());
   $('#emailModal').modal();
});
于 2013-01-04T10:38:48.710 に答える
1

再度変更する前に、src 属性を '' に設定してみましたか? また、使用しているキャッシュ設定は何ですか (ローカルとサーバーの両方で)

于 2013-01-04T10:39:20.750 に答える
0

re captcha ボタンを呼び出そうとしたときに同じ問題が発生しました。いくつかの検索の後、ほとんどすべての有名なブラウザー (chrome、Firefox、IE、Edge など) で機能が正常に動作するようになりました。

function recaptcha(theUrl) {
  $.get(theUrl, function(data, status){});
  document.getElementById("captcha-img").src = "";
  setTimeout(function(){
    document.getElementById("captcha-img").src = "captcha?"+new Date().getTime();
  }, 0);
}

「theUrl」は新しいキャプチャ イメージをレンダリングするために使用され、この場合は無視できます。最も重要なポイントは、FF と IE に画像の再レンダリングを強制する新しい URL を生成することです。

于 2017-07-24T12:24:28.937 に答える
0

高さまたは幅のようなインライン スタイル属性を指定すると、

<img src="themes/images/01.png" height="100" width="100" />
<img src="themes/images/01.png" style="height:100px; width=100px;" />

次に、最初にそれを削除してから、もう一度やり直してください。

styleタグを使って外部からスタイルを指定しても、

  #imageId{
    height : 100px;
    width : 100px;
  }

次に、最初にそれを削除して試してください。画像からスタイル属性を削除すると、画像が表示されます。

高さ属性は IE で機能する可能性がありますが、幅属性は機能しません。

上記の解決策が機能しない場合: PNG ファイルも表示されないことがあります。そのため、JPG 画像を使用してみてください。

于 2015-06-27T08:08:38.677 に答える