2010-05-11 2 views
3

div에서 하나의 html 페이지를 다른 페이지로 호출하고 싶습니다. 다른 하나의 html 파일을 호출하십시오.

나는

<include file="NavigationTree.html" /> 

<? include("/starfix/pages/NavigationTree.html"); ?> 

를 사용하여 시도하지만 그것은 작동하지 않습니다. 내가 잘못했거나 다른 방법으로해야합니까?

+1

... "전화 걸기"? 어떻게기도 드려요, 그렇게 했습니까? –

답변

-1

당신은에 대한 iframe, 예컨대 :

<iframe width="500" height="300" frameborder="no" scrolling="no" marginheight="0" marginwidth="0" 
src="http://www.example.com/page.html"></iframe> 
+1

이것은 편리하지만 단점이 있습니다. DOM을 외래 문서와 공유하지 않으며 가장 중요한 점은 iframe 페이지의 내용에 맞게 자동으로 크기를 조정할 수 없습니다. –

6

당신은 Server Side Includes (SSI)를 사용하는 것이 좋습니다를 사용할 수 있습니다. ,

<!--#include virtual="NavigationTree.html" --> 

SSI는 모든 인기있는 웹 서버에서 지원됩니다

당신은 당신의 HTML은 NavigationTree.html로, 별도의 파일로 니펫을 배치 할 것이며, 당신은 단순히 사용하여 웹 페이지에서 참조 할 것 Apache, IIS 및 lighttpd가 포함됩니다. 당신이 공유 호스트를 사용하는 경우, 당신은 SSI가 작동을위한 .shtml, .stm, 또는 .shtm 확장을 사용할 필요가있는 경우가 있습니다


참고. 웹 서버에 대한 루트 액세스 권한이있는 경우 html을 포함하여 모든 확장에 대해 SSI를 사용하도록 쉽게 구성 할 수 있습니다.

+1

+1 이것은 .html 확장자가있는 페이지에서 작동하는 PHP 접근법보다 우수합니다. 그리고 그렇지 않더라도 PHP가 파싱하는 파일 유형 목록보다는 SSI 파일 유형 목록에'html' 파일을 추가하는 것이 낫습니다. –

3

순수 HTML에서는 불가능합니다.

전자는 이전에 본 적이없는 표기법이며 HTML이 아니며 특정 서버 측 템플릿 언어에서 작동 할 수도 있습니다.

후자는 PHP입니다. 작동해야하지만 include()절대 경로와 함께 서버의 파일 시스템에 사용할 수 있습니다.

당신은 상대 경로를 지정해야합니다 :

<? include("./NavigationTree.html"); // will work if it's in the same directory ?> 

또는 아마도 다음과 같을 것이다 절대 하나를 :

<? include("/path/to/your/www/dir/starfix/pages/NavigationTree.html"); ?> 

(웹 루트에 대한 절대 경로에 대한 관리자에게 문의)

HTTP를 포함 할 수도 있습니다.

하지만 속도가 느려서 각 페이지 요청마다 두 번째 요청을 생성하기 때문에 현명하지 않습니다.

@Daniel의 약자로 SSI를 사용할 수도 있습니다.

+2

경로를 지정하지 않으면 * 현재 디렉토리를 찾지 않습니다 *. Include를 찾기 위해'include_path'를 통해 PHP를 강제 종료합니다. 일반적으로'.'이 들어 있지만, 그렇지 않은 경우 include가 발견되지 않거나 잘못된 include가 사용됩니다. 대신 항상./NavigationTree.html과 같은 명시 적 경로를 지정하는 것이 가장 좋습니다. –

+0

@ 아이그 나가 당신 말이 맞아요. 나는 그 정보를 추가 할 것이다. –

0

이 경우에도 jQuery를 사용할 수 있습니다.

<div id="yourDiv" /> 
<script> 
$("#yourDiv").load("NameOfYourPageToReadFrom.ext #NameOfDivToReadFrom"); 
</script> 

이 현재 파일의로드 DIV ('yourDiv')로 호출 된 파일 ''NameOfYourPageToReadFrom '에서'NameOfDivToReadFrom 'DIV의 내용을 넣습니다.

html의 헤더 부분에 정의를 추가해야합니다.

<head> 
     <script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
</head> 
관련 문제