2010-08-14 4 views
2

현재 PHP를 통해 자동 프리 로더를 만들려고 시도하는 중입니다. 이유는 다른 프리 롤러가 내 목적에 적합하지 않습니다. 임 PHP 버전 5.3.0 아파치 버전 2.2.11와 WAMP 설치를 개발하고 다음과 같은 PHP 코드를 사용하여 :Image Preloader from JSON, JQUERY, PHP

$rootDir = dirname(__FILE__).'/..'; 
$imgdir = opendir($rootDir.'/images/'); 
$i=0; 

while ($file = readdir($imgdir)) 
{ 
if (($file != '.') && ($file != '..')) 
{ 
$fileList[$i] = $file; 
$i++; 
} 
} 

$json=json_encode($fileList, JSON_FORCE_OBJECT); 
die($json); 

내 JQuery와 인라인/순간 (버전 1.4.2)에서 임베디드과 같은입니다 다음과 같습니다 :

$(document).ready(function(){ 
    $.ajax({ 
     type: "GET", 
     url: "preload/reader.php", 
     dataType: "JSON", 
     success: function(data){ 
      alert(data); 
     } 
    }); 
}); 

경고 상자에는 다음과 같은 결과가 표시됩니다.

데이터가있는 다른 작업을 수행하려고 할 때 실제로 문제가 시작됩니다. 즉, "BlueHills.jpg", "1": "deagle_descr.jpg", "2": "mod.jpg" 페이지가 무한 루프 또는 무언가에 갇혀있는 것처럼로드를 완료하지 못합니다. document.write (data)와 같은 단순한 문장조차도. 브라우저에서 멈출 때까지 페이지가 로딩 상태에 머물러 있습니다. 임 JSON 상당히 새로운해서 getJSON의 콜백 함수에

+0

JSON/AJAX를 처음 사용하는 경우'getJSON()'http://api.jquery.com/jQuery.getJSON/ – ina

+0

도 확인해 볼 수 있습니다. 시도하려는 내용의 스 니펫을 게시 해보십시오. 자료. – ina

답변

0
  1. 사용해서 getJSON
  2. 을 도움이 DOM에 태그를 추가하기 시작하지만,
  3. 쇼는 기본적으로 당신이
필요할 때마다 새로운 이미지를 숨겨하시기 바랍니다
+0

제가 $ .getJSON ("프리로드/reader.php"기능 (데이터)를 현재 $ { .each (데이터 기능 (ⅰ) { \t document.write를 (전류 + "
와 상기 AJAX 대체 "); }), }); 그러나 이것은 여전히 ​​파이어 폭스에서 페이지가로드가 끝날 때까지로드가 끝나기를 거부하는 내 문제를 해결합니다. – elitepraetorian

+0

로드가 완료되지 않은 페이지가 다른 곳에서있을 수 있습니다. Firebug Console에서 수행중인 모든 요청을 확인하십시오. – Tudorizer

+0

방화범을 확인하여 나는 모든 요청을보고 인터넷 탭을 여는 것을 의미한다고 가정합니다. 잘 ur 우스운 운이 그것이 절대적으로 아무것도 보여주지 않고있다. 나는 그것이 작동하고 있음을 알고있다. cuz cuz 나는 WAMP의 로컬 호스트 페이지에 방화범을 불었다. ina의 이점 : PHP 배열을 JSON 객체로 인코딩하려고하면 Javery 배열에 결과를 파싱하고 Javascript 배열을 통해 모든 이미지를 미리로드합니다. – elitepraetorian