Подтвердить что ты не робот

Динамически установить фрейм src с помощью Javascript

У меня есть элемент HTML

<frame src="#" title="Content Frame" name="content" id="content" />

Я хочу установить его "src" динамически, используя Javascript при загрузке страницы. Как я могу это сделать?

Я пытаюсь что-то вроде:

document.getElementById('content2').contentWindow.location = 'xyz_frame.html';

Но по какой-то причине он не работает. Возможно, это элемент, а не

A Грубый код;

<html>
<head>
<script language="javascript"> 
function LoadPage(){ 
document.getElementById('content2').src = 'ipad_lrd_frame.html';
}
</script> 
</head>
<body onload="LoadPage()">
<frame id="content2"></frame>
</body>

</html>
4b9b3361

Ответ 1

Это должно работать;

document.getElementById('content2').src = "url";

(Также у вас есть несоответствующие идентификаторы для кадра и getElementById)

Для a FRAME вам понадобится FRAMESET, который исключает использование BODY, поэтому

<frameset rows="50%,*" onload="LoadPage();">    
   <frame id="content2"></frame>
   .....

Update:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<script type="text/javascript">
function LoadPage(){
    document.getElementById('content1').src = "http://www.google.com";
    document.getElementById('content2').src = "http://www.bing.com";
}
</script>
<title></title>
</head>
<frameset rows="50%,*" onload="LoadPage();">    
    <frame src="#" id="content1">    
    <frame src="#" id="content2">                
</frameset>
</html>

Ответ 2

Я бы подумал, что выборка кадров по имени будет более подходящей:

document.getElementsByName('content2')[0].src = 'ipad_lrd_frame.html';

Протестировано. Убедитесь, что ваша страница использует набор фреймов doctype, а вы не включают теги body (вместо этого используйте теги frameset). Также обратите внимание, что ваш тип script должен быть text/javascript, а не языком "javascript".