Javascript 如何计算网页中的字符数?
我正在尝试创建一个网页,当您单击“尝试”按钮时,它会打开另一个网页,然后计算该网页中的字符数。现在,这个网页成功地打开了我要求它打开的网页,但是网页的字符长度是“未定义的”。我不想去掉XMLHttpRequest或它下面的一行代码,因为我计划扩展这个网页,使它能够在以后通过特定的关键字解析网页。代码如下:Javascript 如何计算网页中的字符数?,javascript,html,get,xmlhttprequest,alert,Javascript,Html,Get,Xmlhttprequest,Alert,我正在尝试创建一个网页,当您单击“尝试”按钮时,它会打开另一个网页,然后计算该网页中的字符数。现在,这个网页成功地打开了我要求它打开的网页,但是网页的字符长度是“未定义的”。我不想去掉XMLHttpRequest或它下面的一行代码,因为我计划扩展这个网页,使它能够在以后通过特定的关键字解析网页。代码如下: <!DOCTYPE html> <html> <body> <p>Click the button to open a new browser
<!DOCTYPE html>
<html>
<body>
<p>Click the button to open a new browser window.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
window.open("https://www.gutenberg.org/files/1065/1065-h/1065-h.htm");
var req = new XMLHttpRequest();
req.open('GET', 'https://www.gutenberg.org/files/1065/1065-h/1065-h.htm', false);
alert(req.length);
}
</script>
</body>
</html>
单击该按钮可打开一个新的浏览器窗口
试试看
函数myFunction(){
窗口打开(“https://www.gutenberg.org/files/1065/1065-h/1065-h.htm");
var req=新的XMLHttpRequest();
请求打开('GET','https://www.gutenberg.org/files/1065/1065-h/1065-h.htm",假),;
警报(请求长度);
}
任何人能为我提供的任何帮助都将不胜感激。祝您度过愉快的一天。首先,您需要在远程服务器中使用一个标志头,允许您的url生成XMLHttpRequests。 访问控制允许来源:*或访问控制允许来源:yoururl.com 另一个问题是https版本重定向到http版本,如果从https站点执行此操作,则可能会出现问题,因为客户端浏览器的“混合内容”行为。此外,同步XMLHttpRequest(false标志)已被弃用或即将弃用 如果您在同一个域(http gutenberg)中执行此操作,它就会工作。您应该尝试在http服务器中执行此操作,并查看控制台,希望没有访问控制允许源限制
var req = new XMLHttpRequest();
req.open('GET', 'http://www.gutenberg.org/files/1065/1065-h/1065-h.htm', true);
req.onreadystatechange = function (aEvt) {
if (req.readyState == 4) {
if(req.status == 200)
console.log(req.responseText);
else
console.log("Error loading page\n");
}
};
req.send(null)
可能是因为您有跨源问题吗?:我粘贴了您添加的所有代码,但现在甚至没有出现弹出窗口。我把弹出窗口的代码行放在req.send(null)代码行的正下方,现在它不工作了。关于如何让线路警报(要求长度)工作,您有什么建议吗?感谢您的帮助。在浏览器中按F12并读取错误,几乎可以肯定您有上述错误之一。除非您要求gutenberg添加您的url,否则访问控制允许来源错误没有解决方案。为了计算字符数,您需要一些服务器逻辑,比如curl而不是ajax。非常感谢你。