gpt4 book ai didi

javascript - 如何在 IE 上访问 <iframe> 中加载的纯文本?

转载 作者:行者123 更新时间:2023-11-29 15:52:40 25 4
gpt4 key购买 nike

我有一个 <iframe>谁的src指向纯文本文件(不是 HTML)。文本被加载并显示在屏幕上,但似乎对 JavaScript 隐藏了。

在其他浏览器中,iframe.contentWindow.document.body.innerText足以为您获取它,但在这种情况下 IE 会返回一个空字符串。

有没有办法让 IE 可以在不涉及服务器的情况下访问文件中的文本?

最佳答案

您可以使用 XmlHttpRequest 读取此文件。如果浏览器可以读取它,那么 XmlHttpRequest 也可以。

/* Read a file  using xmlhttprequest 

If the HTML file with your javascript app has been saved to disk,
this is an easy way to read in a data file. Writing out is
more complicated and requires either an ActiveX object (IE)
or XPCOM (Mozilla).

fname - relative path to the file
callback - function to call with file text
*/
function readFileHttp(fname, callback) {
xmlhttp = getXmlHttp();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4) {
callback(xmlhttp.responseText);
}
}
xmlhttp.open("GET", fname, true);
xmlhttp.send(null);
}

/*
Return a cross-browser xmlhttp request object
*/
function getXmlHttp() {
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else if (window.ActiveXObject) {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp == null) {
alert("Your browser does not support XMLHTTP.");
}
return xmlhttp;
}

使用fname 参数的iframe.src 属性调用readFileHttp(fname, callback)。回调参数应该是一个函数,可以对结果执行任何操作。

像这样:

var myIFrame = document.getElementById('iframeIdGoesHere');
readFileHttp(myIFrame.src, function(result){
//process the result
});

关于javascript - 如何在 IE 上访问 &lt;iframe&gt; 中加载的纯文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554288/

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