Динамически установить фрейм 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>
Ответы
Ответ 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".