У меня есть некоторые Google-скрипты на моем сайте, и, к сожалению, один из них загружает некоторые дополнительные скрипты и изображения поверх http вместо https (мой сайт доставляется по https) , Мне удалось получить скрипты, загруженные через HTTPS с помощью следующего кода (from this question):Javascript - запрос изображения блока и заменить запрошенный img-url другим
Object.defineProperty(HTMLScriptElement.prototype, 'src', {
get: function(url) {
return this.getAttribute('src')
},
set: function(url) {
//console.log(url);
var prefix = "http://";
if (url.startsWith(prefix))
url = "https://" + url.substr(prefix.length);
//console.log('being set: ' + url);
this.setAttribute('src', url);
}
});
Но есть несколько файлов изображений, которые по-прежнему загружены через HTTP. Эти файлы недоступны через https.
Моя мысль заключалась в том, чтобы загрузить эти изображения и разместить их на моем сервере и загрузить их оттуда. Есть ли способ с JavaScript для перезаписи пути изображения? Конечно, я мог бы использовать jQuery, но до этого я должен заблокировать запрос изображения до его увольнения. В противном случае у меня проблема с смешанным контентом на моей странице.
Так давайте вместе: - страница загружается и через некоторое время определенное пользователем действие (в моем случае отправки формы) происходит - на основе этого действия дополнительный скрипт загружается, который помещает виртуальную клавиатуру моя страница - эта клавиатура имеют некоторые изображения, которые не могут быть загружены через протокол HTTPS, поэтому я хочу, чтобы блокировать эти запросы - то, я хочу, чтобы заменить заблокированные изображения-URLs с моими пользовательскими образами-адресами
возможно ли это?
Спасибо!
Возможный дубликат [Предварительная загрузка изображений с помощью jQuery] (http://stackoverflow.com/questions/476679/preloading-images-with-jquery) –
Точно так же, как вы заменяете http-> https, но с помощью поиска/для каждого URL-адреса, загружаемого из разных источников. –
@ArtyomNeustroev: Можете ли вы привести пример, пожалуйста? Я пробовал это с помощью HTMLImageElement, но не имел успеха. – Brotzka