2011-10-14 10 views
5

クライアントからのコピー貼り付けや複数のJSファイルの読み込みを防ぐために、別のJSファイル(サーバー側)にJSファイルを含める必要があります。 PHPと同様にinclude( 'file.js')と似ています。JavaScriptのファイルをサーバーサイドに含めるにはどうすればよいですか?

+0

答えをありがとうが、私はちょうどサーバー上で、クライアントからの単一のjavascriptファイルの読み込みで行うことができます。私はむしろ.jsを.php(または書き直し)にし、PHPインクルードとそれからヘッダ( 'content-type:text/javascript)を使用したいと思います。その他のソリューション? –

答えて

2

Supercharging javascript記事の示唆 - PHPを使用すると、すべての.jsファイルを読み取り、1つの大きなjsファイルを作成して1つにまとめることができます。

これは、記事からの例を簡略化したものである、ちょうどあなたが始めるために:

<?php 
define('SCRIPT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/script/'); 

$files = array(
    'jquery.js', 
    'myLib.js', 
    'site.js' 
); 

header('Content-Type: text/javascript'); 
foreach (files as $file) { 
    if (@readfile(SCRIPT_DIR . $file) === false) { 
     error_log("javascript.php: Error reading file '$file'"); 
    } 
} 
?> 

を、私はまた、より多くの情報を得るために記事全文Supercharging JavaScript in PHPを読むことをお勧めします。

+0

これは私が今考えていることです。私はそれのためのライブラリが必要ない。私はちょうどコードのいくつかの行でそれを自分で行うことができます。ありがとう:) –

3

何のJavaScriptファイルから他のJavaScriptファイルをインクルードする方法で構築された...しかし、あなたはDOMにそれらを追加することができますがありません -

function addJavascript(jsname,pos) { 
    var th = document.getElementsByTagName(pos)[0]; 
    var s = document.createElement('script'); 
    s.setAttribute('type','text/javascript'); 
    s.setAttribute('src',jsname); 
    th.appendChild(s); 
} 

>使用例:

addJavascript('newExternal.js','body'); 
+0

私は確かにかわいいコードのためにこれを投票しますが、パスの問題、スクリプトのロードの順序、依存関係の管理をスクリプトローダーに処理する方がいいでしょう:) – Deeptechtons

0

あなたはスクリプトローダーを使用する必要があります。Twitterで働くDustin Diazによってscript.jsをお勧めします。 Project Page on Github。ここ は、プロジェクトページからも

// load jquery and plugin at the same time. name it 'bundle' 
$script(['jquery.js', 'my-jquery-plugin.js'], 'bundle') 

// load your usage 
$script('my-app-that-uses-plugin.js') 


/*--- in my-jquery-plugin.js ---*/ 
$script.ready('bundle', function() { 
    // jquery & plugin (this file) are both ready 
    // plugin code... 
}) 


/*--- in my-app-that-uses-plugin.js ---*/ 
$script.ready('bundle', function() { 
    // use your plugin :) 
}) 

例を何をすべきかであるあなたはjQueryプラグインはこちらのページでロードする必要があると仮定し、それ を使用する方法です。ここでは、Script.jsは最初ファイル

    1. ロードは今、他のすべてのスクリプトの非同期を望んでいたロード依存ローダースクリプト[依存ローダースクリプトは上記のようになるの内容]
    2. を含める従うべき手順は次のとおりです
  • 1

    JSfileは= "1.jsは、2.jsは、3.js" forループ

    それ

    のdocument.write();

    関連する問題