使用js实现基于可视布局信息的网页噪音去除的测试方法
2007-07-30 17:43
1066 查看
可视布局信息的网页噪音去除方法很早就从网上看到,但是苦于没有java中没有简单的方法能够得到网页元素位于屏幕中的实际位置,所以一直没做过,前一段时间学js,突然发现js能很容易得到每个网页元素位于屏幕中的实际位置。所以就写了这个简单函数测试了一下,好像效果还不错,不过个人认为基于可视布局信息的网页噪音去除最好和其他的方法结合使用,单独使用准确率还不是很好。
<script language="JavaScript">
function getElementTagName(){
var h1 = 200;
var h2 = document.body.scrollHeight - 160;
var w1 = document.body.scrollWidth * 0.3;
var w2 = document.body.scrollWidth * 0.7;
//alert("width:" + document.body.scrollWidth + "height:" + document.body.scrollHeight);
var ele = document.getElementsByTagName("table");
alert("元素为table的个数:" + ele.length);
for (i = 0; i < ele.length; ++i) {
var temp = "";
var e = ele(i);
var x,y,w,h;
oRect = e.getBoundingClientRect();
x=oRect.left;
y=oRect.top;
w = e.offsetWidth;
h = e.offsetHeight;
temp = "table" + i;
if ((y + h) < h1)
alert(temp + "/r/nHEADER:/r/n/r/n" + e.innerText);
if (y >= h2)
alert(temp + "/r/nFOOTER:/r/n/r/n" + e.innerText);
if ((x + w) < w1)
alert(temp + "/r/nLM:/r/n/r/n" + e.innerText);
if (x >= w2)
alert(temp + "/r/nRM:/r/n/r/n" + e.innerText);
if ((y < h2) && ((y + h) >= h1) && (x < w2) && ((x + w) >= w1))
alert(temp + "/r/nCENTER:/r/n/r/n" + e.innerText);
//alert(temp);
//temp += "left:" + x;
//alert(temp);
//temp += "top:" + y;
//alert(temp);
//temp += "width:" + e.offsetWidth;
//alert(temp);
//temp += "height:" + e.offsetHeight;
//alert(temp + "/r/n/r/n" + e.innerText);
}
}
</script>
<script language="JavaScript">
function getElementTagName(){
var h1 = 200;
var h2 = document.body.scrollHeight - 160;
var w1 = document.body.scrollWidth * 0.3;
var w2 = document.body.scrollWidth * 0.7;
//alert("width:" + document.body.scrollWidth + "height:" + document.body.scrollHeight);
var ele = document.getElementsByTagName("table");
alert("元素为table的个数:" + ele.length);
for (i = 0; i < ele.length; ++i) {
var temp = "";
var e = ele(i);
var x,y,w,h;
oRect = e.getBoundingClientRect();
x=oRect.left;
y=oRect.top;
w = e.offsetWidth;
h = e.offsetHeight;
temp = "table" + i;
if ((y + h) < h1)
alert(temp + "/r/nHEADER:/r/n/r/n" + e.innerText);
if (y >= h2)
alert(temp + "/r/nFOOTER:/r/n/r/n" + e.innerText);
if ((x + w) < w1)
alert(temp + "/r/nLM:/r/n/r/n" + e.innerText);
if (x >= w2)
alert(temp + "/r/nRM:/r/n/r/n" + e.innerText);
if ((y < h2) && ((y + h) >= h1) && (x < w2) && ((x + w) >= w1))
alert(temp + "/r/nCENTER:/r/n/r/n" + e.innerText);
//alert(temp);
//temp += "left:" + x;
//alert(temp);
//temp += "top:" + y;
//alert(temp);
//temp += "width:" + e.offsetWidth;
//alert(temp);
//temp += "height:" + e.offsetHeight;
//alert(temp + "/r/n/r/n" + e.innerText);
}
}
</script>
相关文章推荐
- A/B 测试的基本概念举例理解以及具体实现方法【传统A/B测试基于后端的 A/B 测试(Back-end AB test),现在基本上基于前端js在客户端进行分流,有更多优点,请看里面】
- C#在WinForm中使用WebKit传递js对象实现与网页交互的方法
- JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
- 基于JS实现导航条之调用网页助手小精灵的方法
- C#使用WebClient登录网站并抓取登录后的网页信息实现方法
- 使用 Cufon 渲染网页字体(转载自ibm developerwork,在网页里引入特殊字体的方法,通过js实现字体渲染)(1)
- JS实现本地存储信息的方法(基于localStorage与userData)
- JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
- A/B 测试的基本概念举例理解以及具体实现方法【传统A/B测试基于后端的 A/B 测试(Back-end AB test),现在基本上基于前端js在客户端进行分流,有更多优点,请看里面】
- C#在WinForm中使用WebKit传递js对象实现与网页交互的方法
- JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
- JS基于递归实现网页版计算器的方法分析
- JS基于cookie实现来宾统计记录访客信息的方法
- JS基于cookie实现来宾统计记录访客信息的方法
- 基于JS实现网页中的选项卡(两种方法)
- php正则去除网页中所有的html,js,css,注释的实现方法
- 使用mock.js随机数据和使用express输出json接口的实现方法
- 一个流行且实用的JS表单验证提示,演示了怎么自定义错误信息的显示方式,同时通过写FormValid.showError类方法来实现错误显示方式自定义: errMsg 是一个错误消息的数组,这样方便自定
- Java8中使用默认方法实现多重继承的测试
- Js实现网页键盘控制翻页的方法