从所有图像URI替换/删除“http:”

时间:2014-01-25 06:55:36

标签: javascript http firefox replace instagram

我正在使用Instafeed,并在FF 26.0上查看我收到此消息“在安全页面上加载混合(不安全)显示内容”http://distilleryimage5.s3.amazonaws.com/4831ff30846511e3a4f412584b9218a9_8.jpg“'

阅读Instafeed的github是suggestion可以解决这个问题。

如何引用通过Instafeed传输的图像从“http:”更改为“https:”?

此外,这可能是一个新问题,但为什么Instafeed网站上的示例网站不会出现同样的问题?

2 个答案:

答案 0 :(得分:1)

这是引用外部源时遇到的常见问题,当站点在https协议下运行时,我们指的是http协议下的内容。

但是,我建议你使用如下,

//distilleryimage5.s3.amazonaws.com/4831ff30846511e3a4f412584b9218a9_8.jpg

而不是

http://distilleryimage5.s3.amazonaws.com/4831ff30846511e3a4f412584b9218a9_8.jpg

我们可以忽略http或https,但仍然可以访问资源,默认情况下需要使用哪个站点运行的协议。

另一个例子:

//code.jquery.com/jquery-1.10.2.min.js ---- will be as same as

http://code.jquery.com/jquery-1.10.2.min.js

答案 1 :(得分:0)

在你的情况下,如果你有另一个变量包含instafeed图像(如document.getElementsByClassName('instafeed')或其他东西),请使用它而不是我在第一行放置的内容。

var images = document.images || document.getElementsByTagName('img');
for (var i = 0; i < images.length; i++) {
    if (images[i].src.indexOf('https') < 0) {
        images[i].src = images[i].src.substr(5, images[i].src.length);
    } else if (images[i].src.indexOf('https') === 0) {
        images[i].src = images[i].src.substr(6, images[i].src.length);
    }
}

Live Demonnnnnnnnstracionnnnnnnn