回答の要約
エラーが発生し、その場所がわからない場合は、コードをデバッグして、エラーのスターターである可能性のあるステートメントを探す必要があります。現在、この作業に役立つ優れたツールがいくつかあります。
仮定
画像の場所を設定または変更するために JavaScript が使用されている場合、undefined
が URI に入り込むことがあります。
http リクエストを作成する JavaScript であり、バグにより、絶対 URL をリクエストする代わりに「未定義」をリクエストしています。
結論:この問題は JS が原因だと思います。
Firefox および Chrome でのデバッグ
インストールと実行
Firefox で試す場合は、FIREBUG ADDONをダウンロードする必要があります。次に F12 を押すと、いくつかのタブを含むウィンドウが表示されます。「コンソール」、「スクリプト」、「ネット」など、いくつかのタブを有効にする必要があります。それらを開き、パネルの情報を読み、アクティブ化リンクをクリックすると、アクティベーションが提供されます。
Chrome の場合は、 CHROME'S DEVELOPERS TOOLが既にインストールされているかどうかを確認してください。次に F12 を押します。
デバッグ
Firefox で、Firebug を開き、Net パネルをアクティブにして、バグのある 1 つのページに移動します。Net パネルには、「Clear」、「Persist」、「All」、「Html」などのいくつかのオプションがあります。すべてのオプションが選択されていることを確認してください。ページ上で何もしないでください。マウスをその上に置かないようにしてください。GET および POST 要求に目を通します。無効な URL のリクエストは、おそらく赤く表示され、404 Not Found などのステータスになります。[すべて] タブに何も表示されない場合は、ページに入る前に Firebug が開いていることを確認してください。トラブルシューティングを行うには、ページを更新してセクションをやり直してください。
Chrome で、CDT (Chrome 開発者ツールの略) を開き、[ネットワーク] パネルを選択して、バグのある 1 つのページに移動します。Firebug として、オプションALLが選択されていることを確認してください。アイコンの後に左下隅に表示されます。ページ上で何もしないでください。マウスをその上に置かないようにしてください。無効な URL のリクエストは、おそらく赤く表示され、404 Not Found などのステータスになります。[ネットワーク] タブに何も表示されない場合は、ページに入る前に CDT を開いていることを確認してください。トラブルシューティングを行うには、ページを更新してセクションをやり直してください。
まだ見えない
- どちらの場合も、ホバー、クリックなどの Javascript イベントのトリガーを開始し、パネルから目を離さないでください。良いものも悪いものも含め、すべてのリクエストを追跡します。悪い要求に集中してください。悪い要求が出てこない場合は、創造性が必要になります。イベントはリクエストをトリガーし、それらを見ることができます。それらを見ることで、問題とおそらくその問題の理由を知り、発見することができます。その他のリソースについては、CDT NetworkおよびFirebug Netを参照してください。
PS.: パネルが汚れた場合は、クリア ボタンまたはアイコンをクリックして、パネルからの要求を消去します。
ページを送信して、失敗したリクエストがすぐに出て、次のページが読み込まれるために失われる場合は、Net パネルの左上またはネットワークパネルの左下隅。それが実現したら、それを実現するために何をしたかを検討してください。もう一度実現できるかどうかを確認してください。ユーザー インタラクションがどのようなものかを把握したら、そのコードに飛び込んで、無効なリクエストを行っているものを探し始め、リクエスト ヘッダーを確認することを決して忘れないでください。[スクリプト] タブを使用して、JavaScript にブレークポイントを設定し、それらをステップ実行できます。$(elemment).bind/click/focus/etc または onclick=""/onfocus="" などの古い学校のイベント属性から実行されるイベント ハンドラーを調査します。
悪いリクエストをトリガーできない場合、それを引き起こしているものはテストによってトリガーされていません。より多くのものを使用してみてください。ポイントは、何らかの形でリクエストを実現できる必要があるということです。あなたはまだ知らないだけです。ネットパネルに表示される必要があります。そうでないのは、それを引き起こすものを何もしていないときだけです。
あなたのコードで私たちが探しているもの
var url = workingUrl + someObject['someProperty'];
var url = workingUrl + someObject.someProperty;
var url = workingUrl + $.md5("message"); //For the /cache/ problem. JQuery Plugin
var url = workingUrl + hex_md5("message"); //For the /cache/ problem. MD5 Implementation
<a href= "javascript:;" class="small_img" >
//Code here
</a>
window.open('/image.?url_image=' + currentImage,winName,features);
PS .: someObject は、 object {}
、 array []
、または内部ブラウザー タイプのいずれかである可能性があります。ポイントは、存在しないプロパティにアクセスすることです。
結論:正確に何が起こっているのかを知るための無料のランチはありません。ただし、デバッグのメソッドを使用すると、問題を発見、接近、または理解できるはずです。