首页 新闻 赞助 找找看

如何用JS阻止某地址请求或阻止图片加载

0
[待解决问题]

<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的请求之类的。 jQury中的$(document).ready(function) 当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件,所以这个事件满足不了这个需求;

豆子全部奉上,谢谢


ming211n1的主页 ming211n1 | 初学一级 | 园豆:24
提问于:2012-11-06 15:42
< >
分享
所有回答(4)
0

看看我在你上个问题里回答的方案啊

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-06 15:48

 $(document).ready(function(){


是这样的。当READY方法执行的时候,图片已经完全呈现了。其实我想不要下载图片

支持(0) 反对(0) ming211n1 | 园豆:24 (初学一级) | 2012-11-06 15:52

@ming211n1: 不是这个

是用ajax取到页面的源代码,然后替换里面的img标签这个方法

支持(0) 反对(0) 飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-06 15:53

@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就是你需要处理的页面(和页面1在同一域名)

支持(0) 反对(0) 飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-06 16:00
0

楼主表示,$(document).ready我都看烦了,能不能动手试下再回答。。。

向往-SONG | 园豆:4853 (老鸟四级) | 2012-11-06 15:52

注明一下,这句话不是楼主说的

支持(0) 反对(0) ming211n1 | 园豆:24 (初学一级) | 2012-11-06 16:55
0

只能是动态替换src,但是动态替换src会造成在不同浏览器下对图片解析呈现的方式不一样,比如Chrome是加载多少呈现多少,FF是等加载完 一下子呈现出来,一般我们用动态 append img元素来做。

.! | 园豆:402 (菜鸟二级) | 2012-11-08 14:05
0
$("img").each(function(){
     $(this).attr("dataSrc",$(this).attr("src"));
     $(this).attr("src","");
});
Eric.luo | 园豆:853 (小虾三级) | 2013-05-17 14:00

补充:将上述代码放在一个functino中,在文件jq文件引用后面加入script,并执行此方法。

支持(0) 反对(0) Eric.luo | 园豆:853 (小虾三级) | 2013-05-17 14:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册