html文件中出现意外的隐藏div

时间:2017-02-15 09:43:17

标签: javascript html web

我一直试图搜索这个,但甚至没有找到任何有同样问题的人。

对于我的任务,我必须编写一个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);

}

2 个答案:

答案 0 :(得分:3)

这个隐藏的框是病毒的影响。页面dataloading.net被称为病毒页面。您可以使用自己喜欢的搜索模块(google,bing,...)进行搜索。

答案 1 :(得分:0)

作为附加代码捕捉,DIV绝对来自JS或任何JS插件,它只是附加到生成代码的主体。