Я работаю над веб-страницей, которая будет состоять из большого основного кадра, с небольшим кадром по дну с текстовым полем и кнопкой отправки. Мне нужна кнопка отправки, чтобы изменить основной фрейм на URL-адрес в текстовом поле. Мой код ниже, но он работает только в том случае, если URL-адрес заканчивается именем файла (например, index.htm). Он не будет работать, если URL-адрес заканчивается на .com или/folder/where index.htm. Как я могу это исправить?Как открыть URL-адрес в текстовом поле в отдельном фрейме?
Вот мой html/javascript. В моей index.htm у меня есть:
<html>
<head>
<title>Menu Bar</title>
</head>
<frameset rows="*,30">
<frame src="main.html" name="main" id="main">
<frame src="menu.html" name="menu" id="menu">
</frameset>
<body>
</body>
</html>
main.html в основном пустой HTML документ (он имеет базовый HTML, головы и тела форматирования только).
Вот menu.html:
<html>
<head>
<script language="JavaScript">
function go(){
URL = document.myForm.theURL.value;
parent.main.location=URL;
}
</script>
</head>
<body>
<form name="myForm">
<input type="text" name="theURL" size="50">
<input type="button" value="Go" onClick="go()">
</form>
</body>
</html>
Попробуйте 'parent.main.location.href' вместо голого' location'. Фактически 'location' является _object_, который имеет свойства, такие как' href' и методы типа 'reload()'. 'frameset' и 'frame' не поддерживаются HTML5, поэтому может возникнуть путаница в« естественном »поведении объекта« location »в современных браузерах, когда им нужно реализовать« frameset's ». – Teemu
@Teemu Все еще не работает. Просто загружает пустую белую страницу. Спасибо хоть. Любые другие идеи? Также я пишу эту веб-страницу для nintendo 3ds, поэтому нужно работать только с netfront nx 1.0, если это имеет значение. – thealeks
Вы проверяли содержимое «URL» перед тем, как использовать его в качестве URL-адреса? Хотя я должен признать, что я не знаком с Nintendo 3ds. Работает ли обычная ссылка без имени файла? – Teemu