2

WP ブログに Instagram ウィジェットをインストールしました。ブログには SSL があり、「 http://distilleryimage6.s3.amazonaws.com 」から画像が表示されるたびにエラーがスローされます。どこにも見つからないため、ウィジェットの.JSコードで「http」を「https」に変更するにはどうすればよいですか?

「https_shot=shot.replace("http","https");」を追加してみました しかし、それは文字列ではないため機能しません...

皆様のご協力に感謝いたします。

コード:

if (o.social_network == "instagram") { 
    html = "";

    if (o.shape == "none") {
        html += '<div class="portfolio-grid"><ul id="thumbs">'
    } else {
        html += '<div class="portfolio-grid"><ul id="thumbs" class="shaped ' + o.shape + '">'
    }

    var token = "111111111111111111111111111111111111111";                      

    url =  "https://api.instagram.com/v1/users/search?q=" + o.user + "&access_token=" + token + "&count=10&callback=?";

    $.getJSON(url, function(data) {

        $.each(data.data, function(i,shot) {
            var instagram_username = shot.username;

            if (instagram_username == o.user) {
                var user_id = shot.id;

                if (user_id != "") {    
                    url =  "https://api.instagram.com/v1/users/" + user_id + "/media/recent/?access_token=" + token + "&count=" + o.limit + "&callback=?";

                    $.getJSON(url, function(data) {
                        $.each(data.data, function(i,shot) {

                            if (o.shape == "none") {
                                html += '<li class="item col' + o.columns + '">';
                            } else {
                                html += '<li class="item">';
                            }

                            var img_src = shot.images.standard_resolution.url;
                            var img_src_o = shot.images.standard_resolution.url;
                            var img_url = shot.link;
                            var img_title = "";

                            if (shot.caption != null) {
                                img_title = shot.caption.text;
                            }

                            if (o.shape == "none") {
                                html += "<img width='100%' src='" + img_src + "' alt=''><div class='item-info col" + o.columns + "'><h3 class='title'><a target='_blank' href='" + img_url + "' title='" + img_title + "'>"+ img_title + "</a></h3></div>";

                                html += '<div class="item-info-overlay"><div><a href="' + img_url + '" class="view">details</a><a title="' + img_title + '" href="' + img_src_o + '" class="preview" data-rel="prettyPhoto[]">preview</a></div> </div><!--END ITEM-INFO-OVERLAY-->';

                            } else {
                                html +=  "<div class='item-container'><img src='" + img_src + "' alt='' style='height:auto'></div>";

                                html += '<div class="item-info-overlay"><div><h3 class="title"><a target="_blank" href="' + img_url + '" title="' + img_title + '">'+ img_title + '</a></h3><a href="' + img_url + '" class="view">details</a><a title="' + img_title + '" href="' + img_src_o + '" class="preview" data-rel="prettyPhoto[]">preview</a></div>  </div><!--END ITEM-INFO-OVERLAY-->';                                                

                            }

                            html += "</li>";
                        });

                        html += "</ul></div>";
                        obj.append(html);
                        obj.removeClass("photostream");
                    });
                }
            }
        });
    });                 
}
4

1 に答える 1

3

実際には、imagesオブジェクト内の URL はすべてstring.replace()であるため、変数宣言の最後でメソッドを呼び出すだけです。

var img_src = shot.images.standard_resolution.url.replace('http://', '//');
var img_src_o = shot.images.standard_resolution.url.replace('http://', '//');

これにより、絶対 URL がページのプロトコルを継承する URL に置き換えられます。したがって、そのページが https を使用している場合は、URL も https を使用します。

于 2013-05-08T17:15:19.193 に答える