여기 몇 가지 문제가 있습니다. 먼저 지정한 비동기로드 방법 :
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('jquery', '1.3.1');
google.setOnLoadCallback(function() {
// do stuff
});
</script>
몇 가지 문제가 있습니다. 스크립트 태그는 검색하는 동안 페이지로드를 일시 중지합니다 (필요한 경우). 로드 속도가 느리면 나쁘지만 jQuery는 작습니다. 위의 방법의 실제 문제는 많은 페이지에 대해 jquery.js로드가 독립적으로 발생하기 때문에 jquery가로드되기 전에로드 및 렌더링이 완료되어 jquery 스타일이 사용자 에게 눈에 띄게 변경 된다는 것 입니다.
다른 방법은 다음과 같습니다.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
간단한 예제를 시도하고 간단한 테이블을 가지고 정적 jquery.min.js로드로 setOnLoadCallback () 메소드 대 $ (document) .ready ()를 사용하여 셀의 배경을 노란색으로 변경하십시오. 두 번째 방법은 눈에 띄는 깜박임이 없습니다. 첫 번째 의지. 개인적으로 나는 그것이 좋은 사용자 경험이 아니라고 생각합니다.
예를 들어 다음을 실행하십시오.
<html>
<head>
<title>Layout</title>
<style type="text/css">
.odd { background-color: yellow; }
</style>
</head>
<body>
<table>
<tr><th>One</th><th>Two</th></tr>
<tr><td>Three</td><td>Four</td></tr>
<tr><td>Five</td><td>Six</td></tr>
<tr><td>Seven</td><td>Nine</td></tr>
<tr><td>Nine</td><td>Ten</td></tr>
</table>
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.1");
google.setOnLoadCallback(function() {
$(function() {
$("tr:odd").addClass("odd");
});
});
</script>
</body>
</html>
테이블이 나타나고 행이 노란색으로 표시됩니다.
google.load () 메소드의 두 번째 문제점은 제한된 범위의 파일 만 호스팅한다는 것입니다. 이것은 플러그인에 매우 의존적이기 때문에 jquery의 문제입니다. <script src="...">
태그가 있는 jquery 플러그인을 포함 시키려고 google.load()
하면 플러그인이 아직로드되지 않았기 때문에 "jQuery가 정의되지 않았습니다"라는 메시지와 함께 플러그인이 실패 할 수 있습니다. 나는 이것에 대한 방법을 실제로 보지 못한다.
세 번째 문제점 (두 방법 중 하나)은 외부로드가 하나라는 것입니다. 일부 플러그인과 자체 Javascript 코드가 있다고 가정하면 Javascript를로드하기위한 최소 두 개의 외부 요청이 있습니다. jquery, 모든 관련 플러그인 및 자체 코드를 가져 와서 축소 된 파일에 넣는 것이 좋습니다.
에서 호스팅해야 당신이 사용 구글의 아약스 라이브러리의 API? :
로드 시간과 관련하여 jsapi 스크립트와 mootools 스크립트 (위에서 압축 된 버전)의 두 가지 스크립트를 실제로로드하고 있습니다. 그것은 하나가 아니라 두 개의 연결입니다. 내 경험상,로드 시간이 Google에서 온 경우에도 개인 공유 서버에서로드하는 것보다 실제로 2-3 배 느리다는 것을 알았습니다. 압축 파일의 버전은 Google보다 몇 K 더 큽니다. 이것은 파일이로드되고 (아마도) 캐시 된 후에도 가능합니다. 따라서 대역폭은별로 중요하지 않기 때문에 중요하지 않습니다.
마지막으로 일종의 XSS 시도로 요청을 표시하는 편집증 브라우저의 잠재적 문제가 있습니다. 일반적으로 기본 설정에는 문제가 없지만, 보안 설정은 물론 사용자가 사용하는 브라우저를 제어 할 수없는 회사 네트워크에서는 문제가있을 수 있습니다.
결국 여기에 예제를 게시하는 것을 제외하고는 적어도 jQuery 용 Google AJAX API를 사용하는 것이 실제로는 아닙니다 (더 많은 "완전한"API는 다른 이야기입니다).
src
현재 사용하는 더 단순 / 안전 / 빠른 구문으로 변경하도록 제안 할 수 있습니까? 당신의 대답은 기본적으로 정식이되었으며 두 가지 변화 모두 사람들이 빨리 온 것을 얻는 데 도움이 될 것입니다.