2009-10-07 2 views
1

이 스타일의 "정적"PHP 웹 사이트를 만들고 있어요정적 PHP 웹 사이트 최적화하기

<?php include "header.php" ?> 
<?php include "left.php" ?> 
<?php include "photos.php" ?> 

"photos.php"에서 나는 라이트 박스에서 3 개의 무거운 자바 스크립트 파일을 가지고 있으며 자바 스크립트 파일 만 포함시키는 것이 좋을 거라고 생각했습니다. 이 "photos.php"가 아니라 "header.php". 하지만 javascript는 head html 태그에만 있어야합니다. 더 좋은 접근 방식이 있습니까, 아니면 제 위치에 괜찮습니까?

대단히 감사합니다

답변

0

, 당신은 변수를 설정 시도 할 수 있습니다. 그것 수도 있습니다 너무 많이 땀을 흘리는 경우 사용자가 귀하의 웹 사이트에 주위를 고집하는 경향이 있다면, 그 이후에 한 번 그 파일을 가져올거야 잘하면 서버가 304 수정되지 않은 응답을 반환하고 그들은 브라우저의 캐시에서 제공됩니다.

5

할 수있을 때마다 머리에 모든 자바 스크립트가있는 것이 가장 좋습니다. 그리고 당신은별로 어려움없이 할 수 있습니다. Dominic Rodger가 말했듯이 js 파일을 캐시해야하기 때문에 모든 페이지에 js 파일을 포함시키는 것은 큰 문제가 아닙니다.

저는 이런 종류의 일에 많은 변수가있는 페이지 템플릿 클래스 파일을 만드는 경향이 있습니다. 더 간단한 방법은 헤더 파일을 포함하기 전에 변수를 설정 한 다음 헤더 파일에 해당 변수에 액세스하고 적절한 경우 js를 추가하는 것입니다. 헤더 파일에서

<?php 
    $includePhotoJavascript = true; 
    include "header.php"; 
?> 

:

if(isset($includePhotoJavascript) and $includePhotoJavascript == true) 
{ 
    // add the javascript 
} 
2

자바 스크립트는 헤드 HTML 태그에있을 필요는 없습니다. 실제로는 advisable to put it at the end of the HTML file입니다. 나머지 HTML 파일을로드하지 못하게하기 때문입니다.

<html> 
<head> 
<title><?php print $title; ?></title> 
<?php 
foreach($javascript as $src){ 
?> 
    <script type="text/javascript" src="<?php print $src; ?>"></script> 
<?php 
} 
?> 
</head> 

그런 다음 당신이 게시 된 파일은 다음과 같습니다 :

<?php 
$title = "Photo album"; 
$javascript = array("jsfile1.js", "file2.js"); 
include "header.php" 
include "left.php" 
include "photos.php" 

>

+1

나는 'photos.php'를 포함하는 추가 래퍼 파일이 없다는 것을 제외하고는이 작업을 수행합니다. 제목/javascript 변수를 넣고 photos.php 자체에 포함시키고 로드 된 페이지 – DisgruntledGoat

0

당신이 header.php 파일에 무엇을 할 수 있는지

,이 같은 것입니다 당신의 아이디어에 대해 대단히 감사합니다. 홈페이지 (index.php)를 가볍게 만들 계획입니다. 그래서 photos.php에서만 javascript (lightbox.js)를로드하고이 lightbox.js에 LAZY LOADING을 수행하려고합니다. 따라서 "처음"방문자가 photos.php로 이동하면 자바 스크립트 파일이 캐시에 저장됩니다. 등이 모두 배경입니다. 페이스 북과 동일하다고 생각합니다. 여기보세요. Optimizing Facebook

관련 문제