JQueryでhtmlを読込んだ時に、IEでうまく動作しない //AJAX
前出の記事のページを拡張する際に、他ドメインのページ(html)をjQuery.ajax()で読込んで、パースをしたいと思いましたが、IE(6,7,8で確認)で確認すると、ロードは完了していますが、中身は思うように読込まれませんでした。他のブラウザでは問題なく動きましたが。
解決方法としては、JavaScript内でなんとかするか、クロスドメイン絡みでPHPを挟んでいるので、そちらでなんとかするかが考えられます。
今回はPHP内で1行追加することで動きました。
どうやら文字エンコーディングの関係でInternetExplorerだけ動かなかったようです。
参考までに、一部JSも記録しておきます。
PHP内
Javascript内
解決方法としては、JavaScript内でなんとかするか、クロスドメイン絡みでPHPを挟んでいるので、そちらでなんとかするかが考えられます。
今回はPHP内で1行追加することで動きました。
どうやら文字エンコーディングの関係でInternetExplorerだけ動かなかったようです。
参考までに、一部JSも記録しておきます。
PHP内
$url = "http://○○/××.html";
$my_html = file_get_contents($url);
//▼この1行の処理を挟む
$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'ASCII, JIS, UTF-8, EUC-JP, SJIS');
echo $html;
Javascript内
function loadHTML(
jQuery.ajax({
url: file,
type: "GET",
dataType: "html",
timeout: 5000,
success: onloadFile,
error: onerror
});
function onloadFile(data) {
//この中で処理
}
}