HTMLが作成したPHPから呼び出されたときに外部JSが機能しない

javascript php
HTMLが作成したPHPから呼び出されたときに外部JSが機能しない

私が作成したPHPクラスを呼び出してHTMLを作成するPHPスクリプトがあります。 このクラスは、すべてのHTMLタグを作成します。そのうちの1つは、外部JSファイルをロードするタグです。 上記のファイルから関数にアクセスしようとしても何も起こりません。 何か案は?

インデックスページ:

function main(){
    $content = "Heres some text for you";

    $page = new Page($title="MyTitle", $script="external.js", $content=$content)
    echo $page->toString();
}

function __autoload($className){
    require_once $className . '.class.php';
}

クラスページ:

    //class constructor
    function __construct($title='untitled', $script='', $content='Default Page class page'){
    $this->title = $title;
    $this->script = $script;
    $this->stylesheet = $stylesheet;
    $this->content = $content;
    // $this->currentUser = $currentUser;
    }

    // creates tag structure for HTML pages
    function toString(){
    return <<




            // Heres the link to the external JS file



                 test();

            $this->title



        $this->content
        page content


END;
    }// end toString function

} // end class Page
?>

外部JS:

function test(){
    alert("ext. JS test works");
}

  1  0


ベストアンサー

ヒアドキュメントの終了識別子の前にスペースを入れることはできません。

        END;

する必要があります:

END;

2


また、external.jsファイルへのパスが正しいことを確認します。 他の何かが機能していますか? タイトルやCSSのような? また、$ this→ stylesheetを設定しようとしてエラーを生成する__constructに$ stylesheetを渡していません。そのため、スクリプト全体の読み込みに失敗している可能性があります。

0


目立つものは見ないでください。

スクリプトと同じディレクトリでJSファイルにアクセスできますか(必要に応じて絶対パスまたは相対パスを適用することもできます)?

また、jquery(ロードされていると仮定)があるので、次のように「準備完了」ブロックに `test();`の呼び出しを入れてみてください。

$(document).ready(function () {
    test();
});

それ以外に、指定されたブラウザーのデバッグツールを使用して、有用なもの(スクリプトがリソースとして読み込まれない場合など)を収集できるかどうかを確認します。

がんばろう!

0


タイトルとURLをコピーしました