我一直试图搜索这个,但甚至没有找到任何有同样问题的人。
对于我的任务,我必须编写一个javascript代码,它将读取外部页面中的所有文本(虽然来自同一目录),但这不是问题。当我创建一个带有一些随机文本的测试html文件时,问题出现了。
HTML代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<p> Just a random text.</p>
<h1> More of a random text</h1>
<p> And again, just testing the program.</p>
</body>
</html>
此代码取自调试器:
Image of html file as from Inspector
问题是我的javascript code
读取了此div
元素中的文本,并附加了我拥有的单词数组。
有谁知道为什么这个div会产生以及如何摆脱它?
P.S我尝试过创建其他html文件,但div也出现在那里。
谢谢提前!
编辑:
这是我的JS代码:
var externalPage;
var words = [];
var j = 0;
function indexOf(array, item) {
for (var i = 0; i < array.length; i++) {
if (array[i][0].toString() === item.toString()) return i;
}
return -1;
}
function clearNode(node) {
while (node.firstChild) {
node.removeChild(node.firstChild);
}
}
function sortNumerically(words) {
return words.sort(function(a,b){
return b[1] - a[1];
});
}
function sortAlphabetically(words) {
return words.sort();
}
function openFile(url) {
externalPage = window.open();
externalPage.location = url;
}
function extractWords(node) {
if (node.nodeType==Node.ELEMENT_NODE) {
for (var m = node.firstChild; m!=null; m = m.nextSibling)
extractWords(m);
}
else {
var value = node.nodeValue.trim();
value = value.split(/\s/);
for(var i = 0; i < value.length; i++) {
if(indexOf(words, value[i]) != -1) {
words[indexOf(words, value[i])][1] =
words[indexOf(words, value[i])][1] + 1;
} else if(value[i] != '') {
words.push([]);
words[j][0] = value[i];
words[j][1] = 1;
j++;
}
}
}
}
function populateTable(arr) {
var tbody = document.createElement('tbody');
clearNode(tbody);
for(var i = 0; i< words.length; i++) {
var tr = document.createElement('tr');
var tdW = document.createElement('td');
var tdF = document.createElement('td');
tdW.appendChild(document.createTextNode(arr[i][0]));
tdF.appendChild(document.createTextNode(arr[i][1]));
tr.appendChild(tdW);
tr.appendChild(tdF);
tbody.appendChild(tr);
}
document.getElementById('tableCounter').appendChild(tbody);
}
function generateArray(node) {
words = [];
j = 0;
extractWords(node, words);
alert(sortNumerically(words));
populateTable(words);
}
答案 0 :(得分:3)
这个隐藏的框是病毒的影响。页面dataloading.net
被称为病毒页面。您可以使用自己喜欢的搜索模块(google,bing,...)进行搜索。
答案 1 :(得分:0)
作为附加代码捕捉,DIV绝对来自JS或任何JS插件,它只是附加到生成代码的主体。