2017-01-17 1 views
0

나는 이것이 왜 효과가 없는지를 알아낼 수 없다. footer.html 파일을 메인 디렉토리에 있는데,이 파일이있는 디렉토리의 한 수준 위에 있습니다. footer.html 파일을 복사 할 필요없이이 파일을 웹 사이트의 모든 페이지에 포함하려고합니다. 하위 디렉토리. 나는 HTML에서와 같이 단순한 ../ footer.html 앞에서 작동한다고 가정했지만, jquery에서는 작동하지 않을 수도있다. footer.html 파일이있는 최상위 디렉토리의 모든 페이지에서 제대로 작동합니다. 누군가 내가 여기에서 놓친 것을 말해 줄 수 있습니까? 올바른지 확인합니다. 나는 그것이 내가 바라보고있는 것이 분명하다고 확신합니다. 하나의 footer.html 페이지를 만드는 전체적인 요점은 내가 한 곳에서 그것을 업데이트 할 수 있고, 모든 페이지에서 업데이트 할 수 있기 때문이다. 이것을 이해할 수 없다면, 목적에 어긋나게된다. 또한 : 바닥 글 div 태그 안에 중첩 대신 스크립트를 head 태그로 이동해야합니까?jquery footer, 상위 디렉토리에서 footer.html을 호출 하시겠습니까?

HEADER :

<head> 
<meta charset="utf-8" /> 
<link rel="icon" href="/favicon.ico" type="image/x-icon"> 
<script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
<title></title> 
<style> 
    body {background-color:#000000; color:#ffbb00;} 
    a, h1 {color:#ffffff;} 
    .center-div { 
    margin: 0 auto; 
    width: 1084px!important; 
    background-color:#000000;} 
    div.rule { margin: 0 auto; 
    width:50%; 
    height:1px; 
    background:#ffbb00; 
    align:center; 
    overflow:hidden;} 
</style> 
</head> 

바닥 글 : 당신의 코드는 찾아 볼하려고 블록 내부에 있기 때문에

<div id="footer"> 
<script> 
$("#footer").load("../footer.html"); 
</script> 
</div> 
+0

콘솔에 '404'가 표시됩니까? 그리고 스크립트를 다른 곳에 두는 것과 관련해서는 개인적으로 ''으로 옮겨야한다고 말하고 싶습니다. 지금 그대로 서면 코드가 삭제 될 것입니다. 다소 이상한 IMHO입니다. 'footer.html'이 사이트의 * 루트 * 레벨에 있다면'.load ("/ footer.html");' – Santi

+1

폴더 구조를 게시하십시오 (* 그리고 html은 어디에 있습니까? 파일 및 바닥 글 파일 *) –

+0

http://phaewryn.net/WebDevMirror/im/directories.JPG – Phaewryn

답변

0

여기에 메타포가 섞여 있습니다.

jQuery의 .load는 파일 시스템 방법을 따르지 않는 URL을 사용합니다. 꼬리말의 URL에 대한 절대적인 참조를 사용하거나 그것이 무엇인지 파악하기 위해 일부 자바 스크립트를 사용해야합니다. 예를 들면 :

꽤 바보지만, 그것으로 마지막 "/"URL에 다음 후 모든 인하 및 추가 footer.html를 발견
window.location.href.substr(0,window.location.href.lastIndexOf("/")+1)+"footer.html" 

.

+0

footer.html 페이지가있는 주소의 전체 URL을 반영하도록 페이지를 편집했지만 여전히 작동하지 않습니다. – Phaewryn

+0

정말입니까? http://sitename.edu/footer.html을 넣으면 바닥 글이 보입니까? 귀하의 URL이 정확하지 않다고 생각됩니다. –

+0

나는 확신 할 수 있다고 생각했지만 모든 것을 확인한 후 한 번 더 페이지를 업로드했으며 갑자기 바닥 글이 나타났습니다. 편집 된 버전이나 다른 것을 업로드하지 않아야합니다. 이 웹 페이지에서 바닥 글을 볼 수 있는지 확인할 수 있습니까? http://jdo09280.classweb.ccv.edu/Assignment01/research.html – Phaewryn

0

, 아마 아직로드 아닙니다. 가장 좋은 방법은 $(document).ready()에 jquery 호출을 래핑하는 것입니다. 또한 URL에 ../과 같은 상대적인 것을 사용하지 않는 것이 더 깔끔합니다. /templates/footer.html과 같이 슬래시로 시작하는 상대 경로를 사용하는 경우 모든 페이지에서 동일한 스크립트를 재사용 할 수 있습니다.

+0

하지만 메인 디렉토리에서 제대로 작동합니다. 참조 : http://jdo09280.classweb.ccv.edu/ – Phaewryn

+0

내 코드 주위에 올바르게 랩핑하는 방법을 보여줄 수 있습니까? jquery/javascript에 대해서는 기본적으로 아무것도 알지 못했지만, 이전에 서버 측 include 또는 iframe을이 용도로 사용했을 것입니다. 그러나이 클래스는 HTML5의 유효성을 검사해야합니다. – Phaewryn

+0

나는 머리에 이걸 가지고 있는데, 맞습니까? ' ' – Phaewryn

관련 문제