2013-10-01 3 views
1

헤더, 왼쪽 메뉴 및 주요 내용이있는 간단한 사이트가 있습니다.
는 이미 하나의 정적 페이지 다음 (index.php) 및 메뉴 항목을 클릭하여 주요 내용을 변경 jquery를 사용하여 만들었 :php는 jquery load와 vs jquery load를 포함합니다.

$('#divR').load('chapters/abc.php'); 

나는 (설명없이 - 왜)이 배열을 변경해야 어딘가에 권고 한 별도의 사용 페이지로 이동 한 다음 php include을 사용하여 각 페이지에 머리글과 왼쪽 메뉴를 포함시킵니다.

누군가가이 딜레마를 도울 수 있습니까?

+1

이것이 개선 될 수있는 이유는 두 가지입니다. 페이지 로딩 시간이 줄어들고 직접 링크가 허용됩니다. – jantimon

+1

클라이언트의 JavaScript가 비활성화 된 경우 어떻게됩니까? – Mark

+0

@jantimon, 고마워,하지만 어떻게 가능 한거야? 'load'를 사용하여'index.php' 페이지 전체가 이미로드되었습니다. 'php include '를 사용할 때마다 매번 전체 페이지를로드 할 필요가 없습니다. – bonaca

답변

3

아약스로 로딩하거나 PHP에서 페이지를 포함하는 것이 효과적입니다. 그러나 새로 포함 된 페이지를 표시하려면 전체 페이지 새로 고침이 필요합니다. jquery가있는 페이지를 요청하면 비동기 적으로로드되고 페이지 새로 고침이 적용되지 않습니다.

사용자 환경을 향상시키기 위해 가장 적합한 옵션을 선택해야합니다. Google은 비동기 링크를 색인에 추가하지 않는다는 소문이 있기 때문에 전체 페이지를로드하는 데 아약스를 사용하지 않습니다. 그러나 일부 사람들은 google bot은 Ajax 호출을 건너 뛰지 않는 일종의 완전한 브라우저라고 말합니다. 나도 몰라. 그래서 나는 그것을 유지하고 다른 URL을 방문, 전체 페이지 새로 고침을 통해 중요한 "주요"콘텐츠를로드하십시오. 이렇게하면 브라우저가 뒤로 이동하고 다음 (기록) 버튼이 작동합니다. 그것들은 비동기 적이기 때문에 ajax 호출에서는 그렇지 않습니다.

예를 들어, 내가 <?php include "file.html"; ?>을 아주 사용

+0

감사합니다, kasper, 아마도 충분합니다. – bonaca

1

... 테이블을 채우거나 usermessages을 보여주는, 또는 어떤 변수를 갱신 (재) 내 이미지 갤러리를위한 새로운 썸네일, 또는 새 항목을로드 할 아약스를 사용 종종 지금은 jQuery에 비해 몇 가지 장점이 있기 때문에 종종 .load입니다.

웹 사이트에 다른 스크립트가 많이 있습니다. .load을 사용하면이 콘텐츠와 상호 작용하는 jQuery는 이후에로드되기 때문에 작동하지 않습니다. 그것은 <head>에 있으며 비록 그렇게 자바 스크립트가 상호 작용할 수 $(document).ready(function() { CODE });를 사용하지 않는 그것은 ... 처음에

을로드해야하지만 <?php include "file.html"; ?>를 사용하는 경우, 내용은 jQuery를로드하기 전에로드됩니다 이 파일에로드 된 내용

설명하는 방법을 모르겠으나, 적어도 php은 서버 측 언어이므로, 필자와 같이 최소한 작동하지는 않습니다.