Я пытаюсь объединить 2 функции deffer init для 1 сценария Java. Я сейчас пытаюсь объединить еще один, но он делает конфликт и JS очень тяжелым. это 2 разных сценария + 1 не так важен (но если вы, ребята, преуспеете, помогите мне объединить их все идеально, это будет лучше).

этот код я пытаюсь поставить после того, как я отредактирую его 2 (2 функции init):

function init() {
    var imgDefer = document.querySelectorAll('div[data-src]');
    var style = "background-image: url({url})";
    for (var i = 0; i < imgDefer.length; i++) {

        imgDefer[i].setAttribute('style', style.replace("{url}", imgDefer[i].getAttribute('data-src')));

    }
    imgDefer = document.getElementsByTagName('img');
    for (var i = 0; i < imgDefer.length; i++) {
        if (imgDefer[i].getAttribute('data-src')) {
            imgDefer[i].setAttribute('src', imgDefer[i].getAttribute('data-src'));
        }
    }
}
window.onload = init;

Я тоже делаю его коротким ... он откладывает изображения, но замедляет сайт:

function init(){for(var t=document.querySelectorAll("div[data-src]"),e=0;e<t.length;e++)t[e].setAttribute("style","background-image: url({url})".replace("{url}",t[e].getAttribute("data-src")));t=document.getElementsByTagName("img");for(e=0;e<t.length;e++)t[e].getAttribute("data-src")&&t[e].setAttribute("src",t[e].getAttribute("data-src"))}window.onload=init;

(Вы можете посмотреть, что код отложен на сайте: locksmithunit.com)

но он очень медленно загружает страницу.


и это все исходные коды ... эти коды предназначены для отсрочки изображений, а последний для "кадра"

рамка не так важна. и если вы можете дать мне его отдельно, потому что у меня есть страницы, у меня нет iframe.

Пожалуйста, помогите мне, ребята, я очень потерян. Больше всего я сочетаю по крайней мере первые 2 сценария из всех трех, которые я отправляю сейчас:

<script>
function init() {
var imgDefer = document.getElementsByTagName('img');
for (var i=0; i<imgDefer.length; i++) {
if(imgDefer[i].getAttribute('data-src')) {
imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src'));

} } }
window.onload = init;
<script> 


<script>
function init() {
  var imgDefer = document.querySelectorAll('div[data-src]');
  var style = "background-image: url({url})";
  for (var i = 0; i < imgDefer.length; i++) {

    imgDefer[i].setAttribute('style', style.replace("{url}", imgDefer[i].getAttribute('data-src')));

  }
}
window.onload = init;
</script>


<script>
function init() {
var vidDefer = document.getElementsByTagName('iframe');
for (var i=0; i<vidDefer.length; i++) {
if(vidDefer[i].getAttribute('data-src')) {
vidDefer[i].setAttribute('src',vidDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>
0
Locksmith Unit

1 ответ

Хорошо. поэтому я пытаюсь отложить изображения на своем веб-сайте ... на 120 страницах ... теперь, когда я начал, я смог отложить только изображения.

после этого мне удастся отложить background-image: url (). но это другой JS, как вы видите на примере, который я публикую ранее.

Мне удается объединить их, но все же JS не дает полной мощности.

после этого я снова начинаю исправлять страницы и замечаю, что на нескольких страницах есть Google Maps iframe. (что-то вроде 40 страниц).

и я пытаюсь также отложить iframe, но это было слишком много для javascript, и веб-сайт теряет загрузку страницы ...

JS нужно переписать снова ... Я пробую пару вариантов, как я публиковал ранее, но ни один из них действительно не улучшает загрузку страницы.

если мы исправим Javascript по крайней мере, поместим 2 функции внутри JS, JS фона и изображений, вы сохраните меня, потому что я уже отредактировал все 120 страниц, а JS работает и откладывает, но повреждает загрузку страницы, потому что JS не хорошо написано. (iframe не так важен, как изображения и фон)

58601328