0

当用户单击我的视频列表中的一个元素时,我想更改嵌入视频的来源。它在 FF 中运行良好,但在 IE 和 Chrome 中都没有任何反应。谁能告诉我如何让这个功能在所有浏览器中正常工作?
这是我的 JavaScript:

function updateSource(id)
{ 
    var video = document.getElementById('video');
    video.src=document.getElementById(id).getAttribute('data-value');
}

这是我的 HTML:

<embed id="video" src="https://www.youtube-nocookie.com/v/h5NeJaWR5WA?version=3&amp;hl=en_US&amp;rel=0&showinfo=0"
            type="application/x-shockwave-flash" width="480" height="360"
            allowscriptaccess="never" allowfullscreen="true"></embed>


<li id="one" class="videoLink" style="margin-top: -1em;" onclick="updateSource(this.id)"
 data-value="https://www.youtube-nocookie.com/v/h5NeJaWR5WA?version=3&amp;hl=en_US&amp;rel=0&showinfo=0">
      <img class="youtubeThumb" src="http://img.youtube.com/vi/h5NeJaWR5WA/default.jpg" />
      <p class="videoTitle">Video Number One!</p>
</li>
<li id="two" class="videoLink" onclick="updateSource(this.id)"
 data-value="http://www.youtube-nocookie.com/v/r19okL-IW6Q?version=3&amp;hl=en_US&amp;rel=0&showinfo=0">
      <img class="youtubeThumb" src="http://img.youtube.com/vi/r19okL-IW6Q/default.jpg" />
      <p class="videoTitle">Video Number Two!</p>
</li>
4

2 回答 2

1

解决方案:http: //jsfiddle.net/tuDXg/4/

我不相信该embed元素支持更新src属性。您应该将它包装在一个 div 中并将 div 更改为具有更新的 srcinnerHTML的新embed元素。

于 2012-08-08T23:06:54.483 回答
0

实际上,看起来数字(id 值)确实是问题所在。它认为您将整数(不是字符串)作为索引(不是 id 值)传递。

于 2012-08-08T22:51:41.767 回答