2013-02-28 70 views
0

我正在嘗試爲我正在構建的ModX Revo站點構建一個預取器。用PHP和jQuery預取內部頁面

我現在就<script type="text/javascript">線得到一個Syntax Error

我怎樣才能使其正常工作?

我包括它在我的網頁/模板作爲<script type="text/javascript" src="/prefetcher.php"></script>

這裏是代碼:

<?php 

header('Content-Type: text/javascript'); 

require_once($_SERVER['DOCUMENT_ROOT'] . '/assets/php/m.inc.php'); 

//if([email protected]$_SESSION['AlreadyPrefetched']){ 
    $sql = "Select `pagetitle`, `longTitle`, `uri` From `modx_site_content` 
      Where `type` = 'document' And `published` = 1 AND 
      (`uri` <> 'portfolio/item' And `uri` <> 'error-page-401' And `uri` <> 'sitemap.xml' And `uri` <> 'error-page-404' And 
      `uri` <> 'error-page-other' And `uri` <> 'index')"; 
    $qry = $modx->query($sql); 
    $rows = $qry->fetchAll(PDO::FETCH_ASSOC); 
    $rCt = count($rows); 
    if($rCt > 0){ 
     $_SESSION['AlreadyPrefetched'] = true; 
     echo '<script type="text/javascript"> 
       $(window).on("load", function(){ 
        alert("Prefetch Active");'; 
       for($i = 0; $i < $rCt; ++$i){ 
        echo '  $.ajax({ url:"/'. $rows[$i]['uri'] .'", cache:true, dataType:"text", success:function(){}, error:function(){} });'; 
       } 
     echo ' }); 
      </script>'; 
    } 

    unset($rows); 
//} 
?> 

看螢火,給prefetch.php收益爲正確的內容類型的請求。 ..

回答

1

您正在輸出<script type="text/javascript">兩次。在您的HTML中,您有<script type="text/javascript" src="/prefetcher.php"></script>,並且在prefetcher.php中,您再次迴應<script type="text/javascript">。您需要從PHP文件中取出腳本標籤。

+0

什麼工具! LMAO ......謝謝! – Kevin 2013-02-28 14:24:28