jsファイルをインポートするのは簡単です... >scriptsrc ='file.js' type ='text / javascript' >>/script>を使用するだけです。
ただし、ソースコードには、ファイルの内容への直接URLが表示されます。
コンテンツは実行可能である必要がありますが、ソースURLを使用して直接表示することはできません。
AJAXを使用してfile.jsのコンテンツをメモリにロードするための最良の方法は何ですか。
私は次の最初の作業方法に到達しました(ちょうどそしてアイデア、完全に欠陥がありますか?):
function get_contents() {
-> ajax execute PHP {copy 'file.js' to 'token.js' in tmp-directory}
-> ajax get contents of 'tmp/token.js' and load to memory
-> ajax execute PHP {delete 'tmp/token.js' in tmp-directory}
return(true); // content (ie. functions) should now be usable
}
しかし、2番目のajax excuteが、関数を正常に呼び出すことができるようになるのに十分かどうかはわかりません。
PHPはコンテンツを返しますが、javascript'ajax success'はそれを変数として見る(そして保存する)かもしれません... doh!
このajaxの成功のアイデアはうまくいくでしょうか??
誰かがより良いアイデアを提案できますか?
編集:
最初の回答によると、このような働き方は事実上そして人間的に不可能です。
一般的な関数を「通常の」保護されていない方法でロードし、あまり頻繁に発生しない計算にJerryの提案(コメントを参照)を使用することで、これを解決します。
編集#2:
以下の(時間のかかる)問題は、次のテンプレートに従うことで解決できます。
提案された「隠されたPHPコード」メソッドを引き続き使用します。
私はYoutubeビデオのようにバッファ(または合計)を利用しています...「ビデオデータ」が「AJAX-PHP関数からの結果」であることを除いて。
AJAX request "30 cycle", "60 cycle", "300 cycle", "600 cycle"
store result to buffer
initiate "start cycle"
function cycle() // run every second !!
{
//do stuff... no AJAX needed
//do some more stuff... like animations and small calculations
//per 30 cycle (30 seconds)
if ($cycle==30)
{
perform last "30 cycle" AJAX result [PHP-function set "A"]
... when finished: AJAX request "30 cycle"
store result to buffer in 'background'
}
//per 60 cycle (1 minute)
if ($cycle==60)
{
perform last "60 cycle" AJAX result [PHP-function set "B"]
... when finished: AJAX request "60 cycle"
store result to buffer in 'background'
}
//and so on....
}
最初の質問は99%解決しました(開発者ツールのために-1)。
コメントと提案をありがとう。