Ok po kilku badaniach zrobiłem dość intensywny hack, aby to zadziałało. Pintrest obsługuje treść https, po prostu z jakiegoś powodu nie zawarli tego w swoim interfejsie API. Dlatego przeszedłem przez interfejs API i znalazłem narzędzie ustawiające atrybuty, które ustawia atrybuty dla dowolnych elementów tworzonych przez interfejs API.
Zresztą .. oto skrzypce: https://jsfiddle.net/nanff007/1/ (upewnij się, że https)
A oto kod, który wykonuje magię ...
Jest to obejście/siekać czy cokolwiek chcesz to nazwać. To nie będzie działać wiecznie. Może również nie działać we wszystkich krajach, ponieważ adresy URL akamai mogą się zmieniać. Najlepszym rozwiązaniem byłoby podniesienie biletu na żądanie z Pintrest.
(function() {
$('a[data-pin-do]').each(function() {
$(this).attr('data-pin-dont', $(this).attr('data-pin-do'));
$(this).removeAttr('data-pin-do');
});
var timer = setInterval(function() {
for (prop in window) {
if (prop.search(/^PIN_/) > -1 && typeof window[prop] != 'boolean') {
clearInterval(timer);
window[prop].f.set = function (el, att, string) {
if(att == 'src' && el.tagName.toLowerCase() == 'img') {
string = string.replace(/(^http:\/\/)/i, "https://s-");
}
if (typeof el[att] === 'string') {
el[att] = string;
} else {
el.setAttribute(att, string);
}
};
$('a[data-pin-dont]').each(function() {
$(this).attr('data-pin-do', $(this).attr('data-pin-dont'));
$(this).removeAttr('data-pin-dont');
});
window[prop].f.init();
break;
}
}
}, 100);
}());
Czy Twoja strona 'http : // 'lub' https: // '? –
Cała strona jest https: // – a1anm