0

HTML/PHP テンプレートで JavaScript を使用したくないのですが。外部に含まれるJSファイルにベース/ルートURLが必要ない限り、すべてが正常に機能しています。

問題: JS ロジック (以下のコード) を外部 JS ファイルに入れるための解決策を知っている人はいますか? 主な問題: _BASE_URL_ をどのように把握するか? 残念ながら、action-attribute で URL を取得できる形式ではありません。JS/PHP が混在するファイルをコンパイルしたくありません。純粋な JS でなければなりません。

アイデア(あまりにも汚い): id="root_url" またはメインの JS ファイルの変数: root_url = "http://localhost/projects/project/version/" を使用した body タグの上部にある非表示の入力。スタンドアロンで動作するファイルはないため、これは失敗しがちです。

たぶん、htaccess/mod_rewrite の良い解決策はありますか?

注意: サブフォルダーでも機能する必要があるため、ホスト名または「実際の」ルート ディレクトリを取得したくありません。

コード:

<script type="text/javascript">
// document ready
$(function() {
    // function: load items
    function load_items() {
        $("#items").load("<?php echo _BASE_URL_?>/items.php");
    }

    // load items!
    load_items();
});
</script>

<!-- target div --> 
<div id="items">loading</div>

前もって感謝します!

4

2 に答える 2

3

あなたのhtml構造を見ることができますか

function getBaseURL () {
   return location.protocol + "//" + location.hostname + (location.port && ":" + location.port) + "/";
}

パスが必要な場合は、これも使用してください

path = window.location.pathname.split( '/' );
console.log(path);
于 2012-11-03T04:36:21.637 に答える