【发布时间】:2017-06-29 05:03:45
【问题描述】:
这可能是一个简单的修复,但我无法弄清楚。基本上我正在打开一个外部网页,我想将该网页上的每个单词(只是没有标签的单词或其他任何单词)存储到一个数组中,这样我就可以输出每个单词在页面上出现的次数。
这是我用来测试的外部页面:
<html>
<body>
<p> Hello world! <br/>
<a href = ”link.html”> Click <b> here </b> </a>
<br/> Goodbye world!
</p>
</body>
</html>
我的输出是这样的:
点击:1 次 再见世界!:1次, Hello world!:1 次, 这里:1次
我很近,我只需要“再见世界!”和“你好世界!”在空间分裂,但我找不到办法。
这是我的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var w;
function openFile(url) {
w = window.open();
w.location = url;
}
var mainArray = [];
var pre;
function retrieveText() {
pre = document.getElementById("count");
getwords(w.document.body);
count();
}
function count() {
mainArray.sort();
var current = null;
var cnt = 0;
for (var i = 0; i < mainArray.length; i++) {
if (mainArray[i] != current) {
if (cnt > 0) {
document.write(current + ' : ' + cnt + ' times<br>');
}
current = mainArray[i];
cnt = 1;
} else {
cnt++;
}
}
if (cnt > 0) {
document.write(current + ' : ' + cnt + ' times');
}
}
function getwords(node) {
mainArray = w.document.body.innerHTML.replace(/^\s*<[^>]*>\s*|\s*<[^>]*>\s*$|>\s*</g,' ').split(/<[^>]*>/g);
}
</script>
</head>
<body>
<p>Filename: <input id = "url" name="url" size=15 type="Text"/></p>
<a href="javascript:openFile(document.getElementById('url').value)">
Open document</a>
</br>
<a href="javascript:retrieveText()">Retrieve text</a><br/>
</br>
<ul id ="arrlist"></ul>
</body>
</html>
【问题讨论】:
标签: javascript html arrays dom web-applications