gpt4 book ai didi

javascript - 替换为 JS 后 HTML 不执行

转载 作者:行者123 更新时间:2023-11-28 09:55:32 25 4
gpt4 key购买 nike

我想在我的网页上实现 YouTube 视频的延迟加载。为此,我在 HTML 注释中有一个带有 YouTube iframe 代码的 a 标签。此外,还有一个 onclick 事件,它可以替换评论标签来激活 YouTube 代码。

这是 HMTL 的示例:

<a href="http://www.youtube.com/watch?v=KC2zbOwbeEs&#038;hd=1" class="video-in-link" style="background:url('http://i.ytimg.com/vi/KC2zbOwbeEs/hqdefault.jpg') no-repeat center center; width:500px; height:281px;" onclick="videoInLink(this);">
<!-- xxltxxiframe width="500" height="281" src="http://www.youtube.com/embed/KC2zbOwbeEs?fs=1&#038;feature=oembed&#038;autoplay=1" frameborder="0" allowfullscreenxxgtxxxxltxx/iframexxgtxx -->
</a>

下面是适当的 JS:

function videoInLink(anchor){
anchor.innerHTML = anchor.innerHTML.replace(/xxltxx/gi,'<');
anchor.innerHTML = anchor.innerHTML.replace(/xxgtxx/gi,'>');
anchor.innerHTML = anchor.innerHTML.replace(/<!--/,'');
anchor.innerHTML = anchor.innerHTML.replace(/-->/,'');
anchor.style.background="none";
anchor.removeAttribute('href');
anchor.onclick= null;
return false;
}

Firefox 和 Chrome 中一切正常:内容被替换并且视频开始。在 IE8 中似乎也会发生替换,但视频无法加载。

尝试了多种组合,但没有成功。

<小时/>

好吧,Dunhamzzz 的想法是正确的,让代码变得更简单。我更改为每个视频提供商自己的功能并且实现有效。所以,IE8 在执行 JavaScript 后激活代码没有问题,IE8 我的代码有问题。

也许我稍后会改进代码,但我的问题本身已经得到解答。谢谢。

最佳答案

您可以使用 javascript 创建 iframe 节点,并将其附加到父级,而不是执行此innerHTML hack。这里有一个简单的例子: http://www.developerfusion.com/thread/33979/creating-iframe-through-javascript/

关于javascript - 替换为 JS 后 HTML 不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10104617/

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