gpt4 book ai didi

javascript - W3Schools 无法复制 tryit 编辑器

转载 作者:行者123 更新时间:2023-11-28 21:03:30 25 4
gpt4 key购买 nike

我正在 tryit 编辑器上测试一些代码,当我在本地保存代码时无法复制功能,并且想知道是否有人对为什么会发生这种情况有任何想法。

代码片段是

<html>
<head>
<script type="text/javascript" src="http://www.w3schools.com/dom/loadxmldoc.js"></script>
</head>
<body>
<script type="text/javascript">
xmlDoc=loadXMLDoc("http://www.w3schools.com/dom/books.xml");
for (j=0;j<xmlDoc.getElementsByTagName("book").length;j++ )
{
x=xmlDoc.getElementsByTagName("book")[j].childNodes;
y=xmlDoc.getElementsByTagName("book")[j].firstChild;
for (i=0;i<x.length;i++)
{
if (y.nodeType==1)
{
//Process only element nodes (type 1)
document.write(y.nodeName + " : " +x[i].childNodes[0].nodeValue + "<br />");
}
y=y.nextSibling;
}
}
</script>
</body>
</html>

有人可以告诉我我在这里做错了什么

提前非常感谢

编辑:感谢所有 w3schools 的提示。我认为我滥用 tryit 的程度超过了我应该停止这样做的程度

最佳答案

w3schools 提供的 loadXMLDoc() 在幕后使用 XMLHttpRequest,它受到同源策略的限制。 (标准操作流程)

SOP states您只能向同一域中的资源发出请求。

当您在本地保存文件时,您不再位于 w3schools 域中,因此无法访问其中的文件。

function loadXMLDoc(dname) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
}
else {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET", dname, false);
xhttp.send();
return xhttp.responseXML;
}​

关于javascript - W3Schools 无法复制 tryit 编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10445990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com