<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
</head>
<body>
<li><a href="#" onclick="alink('http://www.youtube.com/v/1a0E5BuvZ28&feature=youtube_gdata?fs=1&hl=en')">vedio1</a></li>
<li><a href="#" onclick="alink('http://www.youtube.com/v/A6X01URCHZY&feature=youtube_gdata?fs=1&hl=en')">vedio2</a></li>
<li><a href="#" onclick="alink('http://www.youtube.com/v/SNaJ0SYvcYA&feature=youtube_gdata?fs=1&hl=en')">vedio3</a></li>
<object width="600" height="320"><param name="movie" id="id" value="http://www.youtube.com/v/oyzmXMfHIeI&feature=youtube_gdata?fs=1&hl=it"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed id="src" src="http://www.youtube.com/v/oyzmXMfHIeI&feature=youtube_gdata?fs=1&hl=en" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="320"></embed></object>
<script type="text/javascript" defer="defer">
function alink($value)
{
document.getElementById('id').value = $value;
document.getElementById('src').src = $value;
}
</script>
</body>
</html>
我想制作一个YouTube视频的自定义列表。我使用javascript代码。为什么我不能从onclick发送值?它显示错误:document.getElementById(...)'null ...谢谢。
答案 0 :(得分:3)
在主流浏览器中,只有Firefox可让您动态更改嵌入式Flash影片的来源。出于这个原因,您的代码将无法在Internet Explorer,Chrome或Safari中运行(或者更确切地说,它将更改源,但不起作用)。要使它在所有浏览器中工作,您必须完全将嵌入对象重写为DOM。
最简单的方法是使用swfobject javascript库。该库不仅封装了所有功能,使其易于使用,而且还确保了跨浏览器兼容性并处理边缘情况(例如,如果浏览器没有安装闪存)。