不要在JavaScript中加载图片

时间:2012-03-09 07:23:31

标签: javascript

我建立了一个网站,我想在每次访问网站时询问用户,是否要显示图像。如果没有,我想不加载它们并显示没有任何img标签的页面

我尝试了这个,但这没用,因为页面将被加载

function load_img () {
if (!confirm("Do you want to load the images on your site?")) {
    var images = document.getElementsByTagName("img");
    var l = images.length;
    for (var i=0; i<l; i++) {
        images[0].parentNode.removeChild(images[0]);
    }
}
}

我需要一些在页面加载时不加载任何img标记的代码, 而不是在加载页面并显示图像后隐藏或删除图像的代码

有人可以通过这个javascript代码帮助我吗

谢谢

4 个答案:

答案 0 :(得分:3)

您可以查看lazyloadjQuery插件。此插件的作用是在图像位于页面的可见区域时加载图像。

他们的想法是将原始网址放在data-original属性中的图片中,并在src属性中放置一些小图片,例如像这样的1x1透明gif:

<img data-original=“img/example.jpg” src=“img/grey.gif” />

然后您只需更换src即可随时加载所有图片。

这是一个简单的javascript代码,您可以尝试:

window.onload = function() {
    if( confirm('Images?') ) {
        var img = document.getElementsByTagName('img');
        for(i in img) {
            var original = img[i].getAttribute('data-original');
            if( original.length ) {
                img[i].setAttribute('src', original);
            }
        }
    }
}

答案 1 :(得分:0)

您可以尝试jquery:$(&#34; img&#34;)。remove();

答案 2 :(得分:0)

最好从服务器端解决这个问题!

使用带有图像的页面版本和没有图像的页面的链接创建开始页面。您可以编写服务器端脚本(PHP?)来显示或隐藏图像。简单地删除图像可能会破坏页面设计。同时删除html图像标签也无法解决问题。那些背景图片,一些在css文件中,......

如果您想在客户端使用javascript执行此操作,则必须删除所有图片并使用javascript手动添加。

答案 3 :(得分:-1)

使用jQuery,您可以:

if (confirm('Hide images?'))
{
    $('img').remove();
}

如果没有jQuery,你必须使用getElementsByTag和循环。