gpt4 book ai didi

javascript - 如何在 <iframe ..> </iframe> 未准备好时显示 "loading.."?

转载 作者:行者123 更新时间:2023-11-28 02:06:46 25 4
gpt4 key购买 nike

如何在 <iframe id="pdfViewer" name="pdfViewer" src="foo.pdf"></iframe> 时显示“loading..”还没准备好?我不是网络开发人员。我的第一次尝试是使用 JavaScript,但是:

var xhr = new XMLHttpRequest;
xhr.Open("GET", "foo.pdf");
xhr.onreadystatechange = function()
{
if(this.readyState == 4) {
document.getElementById("container").innerHTML = this.responseText;
}
}
xhr.send(null);

我不能在这里使用 jQuery 解决方案,因为我不会使用它。

最佳答案

简单的例子:jsfiddle.net/G5wkS/

var placeholder = document.createElement('div');
placeholder.textContent = 'Loading...';
document.body.appendChild(placeholder);
var iframe = document.createElement('iframe');
iframe.style.setProperty('display', 'none');
placeholder.parentNode.insertBefore(iframe, placeholder.nextSibling);
iframe.addEventListener('load', function() {
placeholder.parentNode.removeChild(placeholder);
iframe.style.removeProperty('display');
});
iframe.setAttribute('src', 'http://127.0.0.1/');

创建一个占位符和一个 iframe(最初是隐藏的)。当然,您也可以选择将它们写在 HTML 中,并使用您自己的样式和属性将它们放置在您想要的任何位置。然后,一旦 iframe 的 onload 触发,移除占位符并取消隐藏 iframe。如果改为触发 onerror 事件,您可能想做一些不同的事情。

关于javascript - 如何在 &lt;iframe ..> &lt;/iframe&gt; 未准备好时显示 "loading.."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10990362/

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