2 つの jQuery 呼び出しで問題が発生しています。1 つ目は、HTML を取得してページに表示する「ロード」です (返されるコードには Javascript と CSS が含まれています)。2 つ目は、JSON を返す「getJSON」です。返される JSON は有効です。
Windows または Mac 用の Chrome を除いて、私が試した他のすべてのブラウザですべて正常に動作します。問題のページは次のとおりです。
http://urbanistguide.com/category/Contemporary.aspx
IE/FF でレストラン名をクリックすると、その項目が展開されて詳細情報が表示され、右側に地図が表示されます。ただし、これを Chrome で行うと、JSON データが画面に出力されるだけです。
最初の問題点は、"load" 関数がここで呼び出されたときです。
var fulllisting = top.find(".listingfull");
fulllisting.load(href2, function() {
fulllisting.append("<div style=\"width:99%;margin-top:10px;text-align:right;\"><a href=\"#\" class=\"" + obj.attr("id") + "\">X</a>");
itemId = fulllisting.find("a.listinglink").attr("id");
...
上記のコードでは、コールバック関数が呼び出されていないようです。
2 番目の問題点は、「getJSON」関数が呼び出されるときです。
$.getJSON(href, function(data) {
if (data.error.length > 0) {
//display error message
}
else {
...
}
この場合、コールバックを実行するのではなく、リンクをたどっているように見えます...そして、はい、「return false;」を実行しています。このすべての最後に、リンクが実行されないようにします。
ソースコードを表示したい場合、残りのコードはすべてそのページにインラインで表示されます。
何か案は??
ありがとう