gpt4 book ai didi

javascript - 使用 JavaScript 更改 iframe src 不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:36:17 25 4
gpt4 key购买 nike

我正在尝试从 img 中提取 YouTube 视频 ID,然后将其传递到 iframe 中以播放嵌入的视频。我的 iframe 位于一个 div 中,在单击 img 之前它是不可见的:

<div id="testimonialbackground" style="display:none;">  
<a href="#" onclick="toggledisplay(this);">Click here</a> to close the video
<iframe id="testimonialframe" src="" frameborder="0" allowfullscreen></iframe>
</div>
<img src="http://img.youtube.com/vi/x-ROeKGEYSk/1.jpg" onclick="toggledisplay(this);" />

这是 JavaScript。在这一行 elem.setAttribute('src', newsrc); 之前它工作正常,此时我的页面卡住了:

function toggledisplay(obj) {  
var div = document.getElementById('testimonialbackground');
var elem = document.getElementById('testimonialframe');
if (div.style.display == "block") {
div.style.display = "none";
elem.setAttribute('src', "");
}
else {
div.style.display = "block";
var explosion = obj.src.split("/");
var newsrc = "http://www.youtube.com/embed/" + explosion[4] + "?autoplay=1";
elem.setAttribute('src', newsrc); // <---- BROKEN LINE RIGHT HERE
elem.contentWindow.location.reload(); //to refresh the iframe
}
}

感谢您的帮助!

最佳答案

src 是一个你可以直接访问的属性,所以不用你的行 elem.setAttribute('src', newsrc); 只需使用这个:

elem.src = "http://www.youtube.com/embed/" + explosion[4] + "?autoplay=1";

设置src 后,无需刷新iframe,因为设置src 会自动刷新。参见 What's the best way to reload / refresh an iframe using JavaScript?有关重新加载 iframe 的更多信息。 (基本上它指出您可以将 iframesrc 设置为其自身以刷新 iframe)。

关于javascript - 使用 JavaScript 更改 iframe src 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15506303/

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