Javascript изменяет значение атрибута из другого файла HTML - PullRequest
0 голосов
/ 15 октября 2011

У меня есть небольшой сайт, еще не в сети, но это не имеет значения.Внутри у меня есть два кадра:

<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 ]

1 голос
/ 15 октября 2011

Ваш DOM брокер:

Изменить <param id="param" name="movie" value="http://www.youtube.com/url"

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

0 голосов
/ 15 октября 2011

Спасибо всем, кто ответил.Я немного поэкспериментировал со всеми кодами, и мой результат на самом деле очень прост.

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

0 голосов
/ 15 октября 2011

Используйте API YouTube Player Player .Звоните player.loadVideoById().Убедитесь, что ваш исходный URL-адрес содержит &enablejsapi=1:

top.frames["B"].document.getElementById("embed").loadVideoById(id);
0 голосов
/ 15 октября 2011

От родителя вы не можете получить доступ к элементам в дочернем фрейме или манипулировать ими, это мера безопасности, иначе было бы легко найти вредоносные сайты, которые обертывают банковские сайты в фреймы, и родитель прочитал бы пароль, который вы войдите в него.

Не делать кадры.

...