我建立了一个网站,我想在每次访问网站时询问用户,是否要显示图像。如果没有,我想不加载它们并显示没有任何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代码帮助我吗
谢谢
答案 0 :(得分:3)
您可以查看lazyload的jQuery插件。此插件的作用是在图像位于页面的可见区域时加载图像。
他们的想法是将原始网址放在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和循环。