0

設定

  • クラスのあるページに複数のリンクがありますlocation_link
  • 各Linksrel属性は、都市国家の組み合わせと同じです(つまり、Omaha, NE
  • ページが読み込まれると、JavaScript関数がすべてのアイテムをループし、jQueryを使用してイベントをそれらにlocation_link バインドします。click
  • このクリックイベントは、リンクが関連付けられている場所のGoogleマップを表示することになっているFancyboxコンストラクターへの呼び出しを起動します

問題:

「ロケーションリンク」の1つをクリックすると、次のエラーメッセージが表示されます。

リクエストしたコンテンツを読み込めません。後でもう一度やり直してください。

私がすでに書いたコード:

function setUpLocationLinks() {
    locationLinks = $("a.location_link");
    locationLinks.click(
        function() {
            var me = $(this);
            console.log(me.attr("href"));
            $.fancybox(
                {
                    "showCloseButton" : true,
                    "hideOnContentClick" : true,
                    "titlePosition"  : "inside",
                    "title" : me.attr("rel"),
                    "type" : "image"
                }
            )
            return false;
        }
    );
}

私がすでに行った調査:

注:Google Static Maps APIは、MapsAPIキーを必要としなくなりました。(Google Maps API Premierのお客様は、代わりに、送信される新しい暗号化キーを使用してURLに署名する必要があります。詳細については、Premierのドキュメントを参照してください。)

  • 私が使用している画像のURLは解決され、必要なデータをプルバックします
  • 上記のURLを標準の<img>タグに入れると、マップは問題なく表示されます。
  • src属性を絶えず切り替えているようなダミーの<img>タグを作成せずに、これを実行したいと思います。

この情報がお役に立てば幸いです。他にご不明な点がございましたら、お気軽にお問い合わせください。

4

1 に答える 1

1

これが私が思いついたものです。空の<img>タグを使用しますが、機能します。誰かがもっと優雅な解決策を考え出すのを見たいです。

function setUpLocationLinks() {
    var locationLinks = $("a.location_link");
    var mapImage = $("#map_image");
    var mapImageContainer = $("#map_image_container");
    var mapFancybox = function() {
        $.fancybox.hideActivity();
        $.fancybox(
            {
                "showCloseButton" : true,
                "hideOnContentClick" : true,
                "titlePosition"  : "inside",
                "content" : mapImageContainer.html()
            }
        );
    }
    locationLinks.click(
        function() {
            var clickedLink = $(this);
            $.fancybox.showActivity();
            mapImage.attr("src", clickedLink.attr("href")).load(
                function() {
                    mapFancybox();
                }
            );
            if(mapImage.complete) {
                mapImage.triggerHandler("load");
            }
            return false;
        }
    );
}
于 2010-04-05T00:07:56.113 に答える