<html><script>(这写什么呢)</script><div><img src="a.jpg" ></div><div><img src="b.jpg" ></div>...</html>
如上所示,页面中DIV的数量很多,可能上千个。而且DIV没有ID,没有CLASS属性,重点是DIV和DIV内的内容不能修改。请问:如何在页面加一段JS代码,使得页面中所有DIV的图片不加载呢。只加载空的DIV也行,直接去掉DIV也行。总之图片的容量很大,目的是让用户不看到图片。减小对图片服务器的压力。
难点主要是DIV和DIV的内容都不能修改。只加一段JS代码。
方法不知道有没有可能通过在DIV元素加载的事件里面取消IMG的内容,或者中断a.jpg的请求之类的。豆子全部奉上,谢谢
用 document.ready 即可,这个 jquery方法是在 html dom结构下载完之后就执行,浏览器解析之前执行,即当浏览器 从上到下解析时,解析到你的div 时,如果里面的img 的src为空就行了,就是说可以 在ready函数中设置
$(document).ready(function(){ $("div img").attr("src",""); })
也有人说过这个方法,我误以为图片还是会加载完。听你一解释才明白了多谢
经测试是可行的
@ming211n1:
哦,没测试过,现在 你是怎么解决的啊?分享一下
@Qlin:没解决呢
@ming211n1:
呵呵 我问过高手了, html dom文档返回给 浏览器时,如果img 有地址,就会去请求,无法阻止。
要阻止,就是要在服务器端生成html时,把img的src去掉。
document.ready函数的认识也有误,是在 浏览器加载完成dom文档,即已经解析了过了,要不然 浏览器根本就不会知道有js,有html元素,只是 浏览器解析,不会卡在图片加载,即不会等图片加载,异步的,如果是js加载就是同步的。
不知道这么做的意义是什么。
$("div img").attr("src",""),直接把所有div内的图片src清空行吗?
或者你页面生成的时候先不给img赋值src,通过其他事件赋值。
@飞来飞去: 这个不行的,因为JS执行的时候,div还没有加载出来。
谢谢了,这么做的意义说来话长,但是必须这么做。
@ming211n1: 你可以试着说明做的意义。也许你说的不是解决你所说事情的最佳解决方法。
@ming211n1: 你可以在浏览器里面设置不接收图片,或者在iis里把图片格式的mime删除
@飞来飞去: 有人说解决了给2万块钱,呵呵,开玩笑。
可以认为JS和DIV是两个公司的代码,或者说DIV部分的代码是加密的,并且是动态的。
浏览器设置的话,只是自己看不到了。IIS服务器在国外的
@ming211n1: 可以试试用ajax获得html内容,然后替换里面的img标签,在展示在页面上。
比如页面1
<html>
<head>
--引用jquery
<script>
$(document).ready(function(){
$.ajax({
cache:false,
type:"get",
url:页面2的url,
success:function(data){
$("div").html(data.replace("<img","<noimg"));--这步需要替换页面2html内容中的图片标签
}
});
});
</script>
</head>
<body>
<div></div>
</body>
</html>
页面2就是你需要处理的页面
真不知道楼主这样做的意义是什么 既然不想在页面中显示图片 而你却在代码中增加图片标签 ,这不是自相矛盾吗
这个不难呀
首先用$(document).ready,这样保证等到所有页面元素加载完再执行
然后用$('div').eq(n),表示取第几个div,n=0表示第一个。这样你想取哪个就改变n呗
最后的示例代码如下:
$(document).ready(function(){ $('div').eq(0).css('',''); });
应该也是这样,在页面元素加载完之后执行去除img的操作
引入jquery,在
$(document).ready(function(){
$("img").attr("src","");
})
jquery应该是可以帮助到你的
亲,据我的揣测,js可以控制图片不显示,但是js只能让浏览器不显示图片,没法控制图片不会被服务器加载到客户端。您的目的是减轻图片服务器的压力,而且为了达到这个目标想让所有的图片不显示。表示对图片服务器的配置稍作修改,比如可以对图片总文件夹的名字稍作修改,让找不到就可以了。这样可以帮你从根本上一次解决所有问题。
引入jquery,在
$(document).ready(function(){
$("img").attr("src","");
})
像楼上几位说的
$(document).ready(function(){ $("img").attr("src",""); })
将此页面放在一个总的div中,并将此div设为不显示。