0

私の問題を説明するより良い方法がわかりません。次の JS コードを数回繰り返しています。

window.kgmp["marker23"]=new InfoBox({
    content: "<div class=\"wrapBox\" align=\"left\"><div class=\"imageBox\"><span class=\"imageWrap\"><img src=\"http:\/\/www.MYSITE.com\/wp-content\/uploads\/2011\/04\/Hellespont (3).jpg\" alt=\"\"\/><\/span><\/div><div class=\"specsBox\"><h2>HMS Hellespont<\/h2><div class=\"shortDesc\"><p>one of the last steam paddle tugs to be built, forgotten till the late 1990\u2019s.<\/p><\/div><a class=\"moreInfo\" href=\"javascript:showMarker(23);\">more details &raquo;<\/a><\/div><\/div>",
    disableAutoPan: false,
    maxWidth: 0,
    pixelOffset: new google.maps.Size(-134, 0),
    zIndex: null,
    boxStyle: {
        background: "",
        border: "none",
        font: "12px Georgia",
        width: "249px",
        height: "115px",
        padding: "20px 10px 10px 10px",
        position: "absolute"
    },
    closeBoxURL: "",
    infoBoxClearance: new google.maps.Size(1, 1),
    isHidden: false,
    pane: "floatPane",
    enableEventPropagation: false
});

注意:これは生成されたコードです。これは、不適切な書式設定 (長い行や多数のリテラルなど) がある理由を説明しています。マーカーはいくつかの理由でグローバル変数に保存されます。「グローバル変数は悪のマントラです」と続ける必要はありません、ありがとう。

では、どこに問題があるのでしょうか。

上記のコードを 2 つ以上使用してページを数回実行した後、Firebug で多くの 404 エラーに気付き始めました。そのうちの 1 つは次のとおりです。

「NetworkError: 404 が見つかりません - http://www.MYWEBSITE.com/user/holiday-planner/%5C%22http:%5C/%5C/www.MYWEBSITE.com%5C/wp-content%5C/uploads% 5C/2011%5C/04%5C/ヘレスポント

以下に、注意すべき重要な点をいくつか示します。

  • 画像はどこにも参照されていません。
  • 画像を含む HTML は完全に機能します (呼び出された場合)。
  • 404 エラーの画像 URL が間違っています。これは、ユーザーがいる現在のページ ( http://www.MYSITE.com/user/holiday-planner/5-marsascala-zejtun-marsaxlokk-birzebbugia) を基準にしています。
  • JavaScriptの部分から、コードは適切にエンコードされているようで、JSエラーはまったく発生しません。
  • CDATA を使用してみましたが、役に立ちませんでした。繰り返しになりますが、私は CDATA のがらくたが好きではないので、それは良いことです。
  • これを Firefox 3.6 でテストしています。数分で他の人にも試してみます... Chrome と Safari はこの問題の影響を受けないようです。
4

0 に答える 0