0

コードがSafariで機能したのに、他のブラウザでは失敗した理由がわからないという問題がいくつかあります。

html部分 とメインのjavascript部分があります。

私が見つけた主な問題は次のとおりです。

関数の実行中にdownloadurl(url, function)、XMLタグ「Info」が見つかりません。多くのブラウザでマーカー配列の長さが0です。ただし、Safariでは問題ありません。javascriptコードの一部は次のようなものです。

downloadUrl("http://travel-taoyuan.tycg.gov.tw/content/travel/xmlcontentlist1.aspx", function(doc) {
    var xml = xmlParse(doc);
    var markers = xml.documentElement.getElementsByTagName("Info");
    ......

マーカーに警告するために、「0」を返します。そして実際には「174」(Safariの結果)である必要があります。

私の質問に答えてくれてありがとう。

4

1 に答える 1

0

うーん、構文エラーのようです。異なるブラウザーは異なる構文を使用するため、実行されません (または、運が良ければ適切に実行されません)。

…の線に沿って何かを試してください。

        <script type="text/javascript">
        if (window.XMLHttpRequest)
          {// IE7+、Firefox、Chrome、Opera、Safari のコード
          xmlhttp=新しい XMLHttpRequest();
          }
        そうしないと
          {// IE6、IE5 のコード
          xmlhttp = 新しい ActiveXObject("Microsoft.XMLHTTP");
          }
        xmlhttp.open("GET","http://travel-taoyuan.tycg.gov.tw/content/travel/xmlcontentlist1.aspx",false);
        xmlhttp.send();
        xmlDoc=xmlhttp.responseXML;


        var x=xmlDoc.getElementsByTagName("theMainTagName"); //TODO: これはメインのタグです ^ (注を参照)
        for (i=0;i<x.length;i++)
          {
          //TODO: 各 xml 要素を処理するコード
        // 特定のタグから値を取得するコード: x[i].getElementsByTagName("theTagName")[0].childNodes[0].nodeValue
          }
        </script>

注: ^「メイン」タグは、たとえば、この xml ドキュメントの場合、「メイン」タグは「CATALOG」です。

お役に立てれば。あまり明確でない場合は申し訳ありませんが、xml/javascript を使用してからしばらく経ちました。さらに説明が必要な場合はコメントしてください

于 2012-08-27T07:45:45.860 に答える