gpt4 book ai didi

javascript - 如何在新窗口/选项卡中打开文本和 xml 文件?

转载 作者:行者123 更新时间:2023-12-03 11:16:48 25 4
gpt4 key购买 nike

这是代码。我对 JavaScript 还很陌生,而且每天都在学习更多东西。该代码来自教科书的示例。谢谢你的回复。我想问的另一个问题是如何在无序列表中显示返回的文本?这是要包含在 html 方面的内容还是可以在 JavaScript 文件中完成?

window.addEventListener("load",initAll,false);
var xhr = false;

function initAll() {
document.getElementById("makeTextRequest").addEventListener("click",getNewFile,false);
document.getElementById("makeXMLRequest").addEventListener("click",getNewFile,false);
}

function getNewFile(evt) {
makeRequest(this.href);
evt.preventDefault();
}

function makeRequest(url) {
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
}
}
}

if (xhr) {
xhr.addEventListener("readystatechange",showContents,false);
xhr.open("GET", url, true);
xhr.send(null);
}
else {
document.getElementById("updateArea").innerHTML = "Sorry, but I couldn't create an XMLHttpRequest";
}
}

function showContents() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if (xhr.responseXML && xhr.responseXML.childNodes.length > 0) {
var outMsg = getText(xhr.responseXML.getElementsByTagName("choices")[0]);
}
else {
var outMsg = xhr.responseText;
}
}
else {
var outMsg = "There was a problem with the request " + xhr.status;
}
document.getElementById("updateArea").innerHTML = outMsg;
}

function getText(inVal) {
if (inVal.textContent) {
return inVal.textContent;
}
return inVal.text;
}
}

最佳答案

从表面上看,您正在发出 AJAX 请求并接收 XML。

在这种情况下,我会:

  1. 使用 window.open() 打开一个新页面(返回一个新的 Window 对象)
  2. 然后将该新页面的 document.body.innerHTML 更改为您拥有的 XML

如果您有一个包含 XML 的网页(也许您请求的服务器有一个),您可以这样做:

window.open("page.xml");

关于javascript - 如何在新窗口/选项卡中打开文本和 xml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27306747/

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