gpt4 book ai didi

javascript - 为什么 javascript document.write 在 Firefox 上不起作用?

转载 作者:行者123 更新时间:2023-11-30 07:18:31 25 4
gpt4 key购买 nike

我有一个显示图像的 html 页面。它应该延迟,更改为视频,然后在视频播放后,更改回图像。这是我正在使用的 javascript:

<script type="text/javascript">
function playVideo(){
var str='**html of the video object**';
document.open();
document.write(str);
document.close();
}
function backToImage(){
var str='**html of the image**';
document.open();
document.write(str);
document.close();
}
setTimeout("playVideo()",1000);
setTimeout("backToImage()",3000);

</script>

此 javascript 适用于 Chrome 和 Safari。它主要在 IE 中工作(第二次超时不起作用,但我刚刚发现了这一点)。它在 Firefox 中根本不起作用。没有延迟,视频只是开始播放,我从来没有看到图像;之前或之后。

对此有任何想法都很好。

编辑:看来 document.write 是罪魁祸首。更改标题以反射(reflect)这一点。

如果我原来的问题不清楚,我正在寻找的是用视频替换图像,然后用图像替换视频。这都是在 iframe 中加载的,所以我需要使用 document.write(或类似的东西)来实际更改 html。

最佳答案

在页面已经加载后使用 document.write 有点奇怪。这应该只真正用于在加载时生成页面。尝试这样的事情:

<html>
<head>
<script type="text/javascript">

function playVideo(){
var str='**html of the video object**';
document.getElementById('video-placeholder').innerHTML = str;
}
function backToImage(){
var str='**html of the image**';
document.getElementById('image-placeholder').innerHTML = str;
}
setTimeout(playVideo, 1000);
setTimeout(backToImage, 3000);

</script>
</head>
<body>
<div id="video-placeholder"></div>
<div id="image-placeholder"></div>
</body>
</html>

关于javascript - 为什么 javascript document.write 在 Firefox 上不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4393288/

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