我想在我的网页上实现 YouTube 视频的延迟加载。为此,我在其中的 HTML 注释中有一个带有 YouTube 的 iframe 代码的 a-Tag。此外,还有一个 onclick 事件,它替换了评论标签以激活 YouTube 代码。
以下是 HMTL 的示例:
<a href="http://www.youtube.com/watch?v=KC2zbOwbeEs&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&feature=oembed&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我的代码有问题。
也许我稍后会改进代码,但我的问题本身已经得到解答。谢谢。