ページ上の画像に問題があります。Javascriptを使用して要素を作成していますが、FireFoxでは、innerHTMLの設定に使用している文字列が正しく解析されていないようです。これは、サーバーページが無効なGET変数で要求されたときに表示されます。それらは次のようになります(PHPスクリプトのエラーハンドラーから):
GET[] = Array ( [shrink] => true [file_id] => \' file_id \' [refresh] => \' now.getTime() \' )
これはリクエストの約5%でのみ発生するため、解決が困難です。私はこれをFireFoxで自分で再現することができました。Firebugは、フェッチしようとしているURLがhttps://www.domain.com/secure/%27%20+%20image_src%20+%20%であることを示します。 27
それはFireFoxでのみ発生するように見えるので、FireFoxのプリフェッチコンテンツに関連している可能性があることをどこかで読みました(現在グーグルを見つけることができません)。about:configでプリフェッチを無効にすると、問題の発生を防ぐことができますが、エンドユーザーが構成を変更する必要のない別の解決策または回避策を探しています。
詳細とコードは次のとおりです。HTMLページに空のテーブルセルがあります。ページに対するJQueryの$(document).ready()関数では、JQueryの$ .ajax()メソッドを使用して、そのセルに何を含めるべきかに関するデータをサーバーから取得しました。変数を返しfile_id
ます。簡単にするために、以下で設定します。次に、空のテーブルセルに、渡されるfile_idに応じて画像ファイルを提供するページを指すsrcを含む画像を設定します。コードのこの部分は元々JQueryだったので、ストレートJavascriptに変更しましたが、何の役にも立ちませんでした。
//get data about image from server
//this is actually done through JQuery's $.ajax() but you get the idea
var file_id = 12;
//create the src for the img
//the refresh is to prevent the image from being cached ever, since the page's
//javascript will be it changes
//during the course of the page's life
var now = new Date();
var image_src = 'serve_image.php?shrink=true&file_id=' + file_id + '&refresh=' + now.getTime();
//create
document.getElementById('image_cell').innerHTML =
'<A target="_blank" href="serve_image.php?file_id=' + file_id + '">' +
'<IMG id=image_element src="' + image_src + '" alt="Loading...">' +
'</A>';`
どんな助けでも大歓迎です。ありがとう!