짧은 주소 생성 애플리케이션에서는 긴 주소를 기반으로 웹페이지 스냅샷을 생성해야 합니다. 이 생성 시간은 즉각적이고 예측할 수 없습니다.
그래서 프런트 엔드에서 채택하는 솔루션은 일반적으로 생성된 짧은 주소를 먼저 표시한 다음 주기적으로 AJAX에서 웹 페이지 스냅샷이 생성되었는지 확인하는 것입니다.
그래서 PHP 코드는 다음과 같이 처리됩니다.
// 여기 서버는 phantomjs를 사용하여 웹 페이지 스냅샷을 생성합니다
$cd = '/home/emp/phpinstall/phantomjs-1.5.0/bin/phantomjs /home/emp/phpinstall/phantomjs/snap.js "'.$url.'" /home/emp/public_html_demo/cms/' .$엄지손가락.' & ';
시도해 보세요{
@pclose(popen($cd,"r"));
}catch(예외 $e){}
프런트엔드 Js용 Ajax 스크립트:
_wt = window.setInterval("sys.ajax('?m=shorturl&c=index&a=check_snap','',callback.checkSnap);",200);
콜백 함수 checkSnap은 PHP의 check_snap이 웹 페이지 스냅샷 파일 생성 여부를 감지할 때까지 기다립니다.
생성된 정보를 받은 후 _wt 타이머를 삭제하세요.
클리어타임아웃(_wt);
이런 식으로 JFYF 쌍의 PHP와 프런트엔드 AJAX는 매우 행복하게 협력할 것입니다~