2012-08-15 2 views
1

jQuery 모바일을 사용하여 웹 응용 프로그램을 만들고 있지만 많은 페이지는 .php 파일입니다. rel = "external"태그를 사용하여 해당 php 파일로 이동해야합니다. 그렇지 않으면 링크가 "정의되지 않음"이됩니다. 문제는 내가 갖고있는 모든 .php 페이지에 대해 jQuery 스크립트를로드해야한다는 것입니다 (JQM 레이아웃을 원하기 때문에). .php 페이지에 도달 할 때마다 js 파일을 다시 다운로드하지 않으려면 어떻게해야합니까?rel = "external", PHP in jQuery Mobile

+0

을 적절한 HTML 구문을 사용하여 PHP 파일을 만들면 문제가 발생하지 않습니다. 함께 작업하는 링크의 예를 보여줄 수 있습니까? – Jasper

+0

Jasper, 맞습니다. 나중에 rel = "external", 올바른 jQuery 레이아웃을 사용하지 않고 PHP를로드하는 데 성공했다. 내가 사용한 플러그인 중 하나는 rel = "external"이 문제를 복잡하게 만든다고 생각하지만, 모든 CSS와 js 스크립트가 인덱스 페이지에있는 경우 해당 리소스가 모든 후속 페이지 (제대로로드 된 경우)에 따라 올 수 있습니까? qq – StCee

답변

1

정적 이름 js 파일을 호출하십시오. 내 말은, 브라우저 캐시가 자신을 괴롭히지 않도록하라. 귀하의 코멘트에

답변 : 당신은이

는 "레버리지 브라우저 캐싱을"할. 여기에 explaination입니다 : 그 후

http://developers.google.com/speed/docs/best-practices/caching

, 당신의 js 파일의 src의 정확히 같은 모든 페이지에 있습니다. 당신이 x.js를 호출하는 경우 내 말은

는 "SRC = 'JS/x.js'"다음 SRC "로 b.php 같은에 전화 = 'JS/X로 a.php에에 파일을 .js ' ".

js 파일을 개발 중이거나 개발 중이라면 js 파일을 호출 할 때 버전 번호가 있어야합니다. 브라우저 캐싱을 활용하면 "이 파일은 내년에 만료됩니다"라고 말할 것입니다. 그래서 개발할 때 새로운 개발 된 js는 사용자가 강제하지 않으면 다운로드하지 않습니다. 이 같은 버전 번호와의 js 파일을 호출 할 수 있습니다 "SRC = 'JS/x.js V = 0.0.1?'"

쉽게이 도구를 사용하여 페이지의 캐시 테스트 할 수 있습니다

: http://tools.pingdom.com/

+0

답장을 보내 주셔서 감사합니다.하지만 캐싱에 익숙하지 않습니다. 모든 js를로드하는 것에 대해 생각했습니다. 스크립트는 인덱스 페이지에 있지만 스크립트가 무엇인지 알 수는 없습니다. src는 후속 페이지 용입니다. 네가 나를 밝힐 수 있다면 나는 많이 감사 할 것이다. – StCee

+0

자세한 설명을 주셔서 감사합니다. 나는 그것을 서버 http 헤더를 통해해야만한다는 것을 읽었다. 또는 다음을 추가한다. ... 내 애플 리케이션이 웹 어플리케이션으로 의도 되었기 때문에, 또한 헤더 요청을 최대한 줄이고 대신 로컬 저장소를 사용하라는 제안을 보았습니다 ... 저는이 분야에 정말로 초보자이며 어떤 방법이 최고입니까? – StCee

+0

사실 나는 그들이 무슨 말을하고 있는지 이해하지 못한다. 그러나 나는 당신의 헤더가 매우 크거나 매우 커질 수 있다고 생각하지 않는다. 그런데 서버 http 헤더가있는 캐시를 사용하는 것이 더 유용합니다. 그리고 gzip도 사용하십시오. – xecute