2013-08-02 7 views
1

큰 메인 프레임과 텍스트 상자 및 제출 버튼이있는 하단의 작은 프레임으로 구성된 웹 페이지에서 작업하고 있습니다. 메인 프레임을 텍스트 상자의 URL로 변경하려면 제출 버튼이 필요합니다. 내 코드는 아래에 있지만 URL이 파일 이름 (예 : index.htm)으로 끝나는 경우에만 작동합니다. URL이 .com 또는/folder/index.htm이 사용되는 것으로 끝나는 경우에는 작동하지 않습니다. 어떻게 해결할 수 있습니까?별도의 프레임에있는 텍스트 상자에서 URL을 여는 방법은 무엇입니까?

여기 내 HTML/자바 스크립트입니다. 내 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, 머리와 몸을 가지고). 이런 일이 발생하는 이유

<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> 
+0

베어 메이트 대신에 parent.main.location.href를 사용해보십시오. 사실'location'은 _hject와 같은 속성과 reload()와 같은 속성을 가진 _object_입니다. 'frameset'과'frame'은 HTML5에 의해 지원되지 않기 때문에,'frameset'을 구현해야하는 최신 브라우저에서는'location' 객체의 "자연스러운"동작에 혼란이있을 수 있습니다. – Teemu

+0

@ 테 무 아직 작동하지 않습니다. 그냥 빈 페이지를로드합니다. 그래도 고마워. 다른 아이디어? 또한 Nintendo 3ds에 대한이 웹 페이지를 작성 중입니다. 차이점이 있다면 netfront nx 1.0에서만 작동해야합니다. – thealeks

+0

URL로 사용하기 전에 'URL'의 내용을 확인 했습니까? 비록 내가 인정해야 겠지만, 나는 Nintendo 3ds에 익숙하지 않다. 정규 링크가 파일 이름없이 작동합니까? – Teemu

답변

0

잘 모르겠어요,하지만 당신이 해결 사용할 수 있습니다 : 여기

는 menu.html입니다, 당신이 id="myForm"를 설정해야

function go(){ 
    var URL = document.getElementById('myForm').theURL.value; 
    if (URL) { 
     url = URL.split('/'); 
     if (url[url.length - 1].indexOf('index.htm') < 0) { 
      url[url.length] = 'index.htm'; 
      URL = url.join('/'); 
     } 
    } else {return;} 
    parent.main.location.href = URL; 
    // or: parent.main.contentWindow.location.href = URL; 
} 

이를 사용하려면를 form 요소.

+0

모든 웹 사이트에서 작동합니까? 나는 '메뉴'메뉴 바를 만들려고 노력하고 있는데, '메인'에서 찾아보기를하면서 기능을 제공하는 메뉴 바입니다. – thealeks

+0

아직 작동하지 않습니다. 메인은 은색으로 설정된 배경색을 가지므로 페이지가 변경되면 그냥 흰색으로 변경되기 전에 알 수 있습니다. 이제는 전혀 변하지 않습니다. – thealeks

+0

괜찮습니다. http://www.google.com에 입력하면 흰색 페이지가로드됩니다. 하지만 http://www.google.com/을 입력하면 Google 404 오류 페이지가로드됩니다. /index.htm은 서버에서 찾을 수 없습니다. – thealeks