0

構築しているModXRevoサイトのプリフェッチャーを自分で構築しようとしています。

私は今オンラインになっSyntax Errorています<script type="text/javascript">

これを正しく機能させるにはどうすればよいですか?

私はそれを私のページ/テンプレートに次のように含めています<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(!@$_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);
//}
?>

FireBugを見ると、prefetch.phpへのリクエストが正しいコンテンツタイプとして返​​されます...

4

1 に答える 1

1

<script type="text/javascript">2回出力しています。HTMLには、<script type="text/javascript" src="/prefetcher.php"></script>prefetcher.phpがあり、内部から再びエコーして<script type="text/javascript">います。PHPファイル内からスクリプトタグを取り出す必要があります。

于 2013-02-28T13:53:11.727 に答える