您的位置:首页 > Web前端 > JavaScript

使用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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐