Javascript从另一个HTML文件更改属性值

时间:2011-10-14 20:38:05

标签: javascript html youtube embed frame

我有一个小网站,还没有在线,但这没关系。里面我有两个框架:

<html>
<frameset border="transparent" cols="63%,37%">
<frame src="A.html" name="A" NORESIZE>
<frame src="B.html" name="B" NORESIZE>
</frameset>
</html>

在第A帧中有一个按钮。

<html>
<body>
<input onClick="#" type="button"/>
</body>
</html>

在第B帧中有一个YouTube视频:

<html>
<body>
<object id="obj" name="obj" width="100%" height="100%">
<param id="param" name="movie" value="http://www.youtube.com/url"/>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"/>
<embed id="embed" name="embed" src="http://www.youtube.com/url"" type="application/x-shockwave-flash" width="100%" height="100%" allowfullscreen="true"/>
</object>
</body>
</html>

现在我试图让嵌入的源和参数(命名电影)值更改为另一个URL。
我尝试了很多代码。例如,以下Javascript代码将不起作用:

top.frames["B"].document.getElementById("movie").value = 'http://www.youtube.com/otherurl';
top.frames["B"].document.getElementById("embed").src = 'http://www.youtube.com/otherurl';

因此,如果有人知道如何正确使用这些代码或如何与其他代码获得相同的结果,我真的很感激。

预期的感谢,VVW。

4 个答案:

答案 0 :(得分:1)

你的DOM是broketh:

更改<param id="param" name="movie" value="http://www.youtube.com/url"

到.. <param id="param" name="movie" value="http://www.youtube.com/url" />

答案 1 :(得分:0)

从父级你不能访问或操纵子框架中的元素,这是一个安全措施,否则很容易出现在iframe中包装银行网站的恶意网站,而父母会读取你的密码进入它。

不要做框架。

答案 2 :(得分:0)

使用YouTube JavaScript Player API。致电player.loadVideoById()。确保原始src网址包含&enablejsapi=1

top.frames["B"].document.getElementById("embed").loadVideoById(id);

答案 3 :(得分:0)

感谢所有回答的人。我对所有代码进行了一些实验,结果非常简单。

top.frames["divtest"].document.getElementById("embed").setAttribute('src','http://www.youtube.com/v/lPMx86wXaKY?version=3&amp;hl=nl_NL');
top.frames["divtest"].document.getElementById("param").setAttribute('value','http://www.youtube.com/v/lPMx86wXaKY?version=3&amp;hl=nl_NL');

我想知道为什么我之前没有提出这个问题所以我向所有人道歉并感谢大家的帮助。

VVW