JSONP プラグインを使用して JSONP 呼び出しのエラーを適切に処理する HTML ページがあります。私の問題は非常に複雑です (そして、単純で簡単な "D'Oh!" ソリューションがあることを願っています :))。.js ファイルが HTML ページと同じディレクトリにあり、次のように読み込まれる場合:
<script type="text/javascript" src="jquery.jsonp.min.js"></script>
すべてうまくいきます。しかし、他のすべての JS ファイルがある内部 JS ディレクトリに移動すると、次のようになります。
<script type="text/javascript" src="js/jquery.jsonp.min.js"></script>
常にエラー関数を呼び出します。FireBug でトレースしたところ、$.jsonp
関数を呼び出しますが、すぐにエラー関数にジャンプします。コード自体は次のようになります。
$.jsonp(
{
url: ipUrl,
timeout: 30000,
success: displayData,
error: displayError
}
);
何か案は?本当は整理整頓して発送したいのですが。御時間ありがとうございます。
いくつかの事実: ページはローカルでテストされています (Web サーバーなし)。権限やセキュリティの問題はありません。同じディレクトリに、適切にロードされる他の .js ファイルがあります。エラーはすべてのブラウザで発生します。
更新: アレックスの提案に基づいて、縮小されていないバージョンをダウンロードし、js ディレクトリに配置しました。HTML ページの参照を変更し、FireBug でトレースしました。関数は正しい URL を受け取り、実際に機能します。
非縮小版と縮小版を行ったり来たりしましたが、結果は明らかです。縮小版では何かがおかしくなっています!
それでも、その場所が重要な意味で機能を台無しにするものは何だろうか? 縮小されていないバージョンを出荷して、それを忘れるべきですか?
更新 2 - 解決策: 開いているファイルを自分で縮小し (Alex のリンクを使用して JSMin の C# コードを取得しました)、ファイルをコンパイルして最小化しましたが、機能しました。次に、ダウンロードしたファイルと比較しました。改行がねじ込まれていました。ファイルを再度ダウンロードしました-すべてが機能します。