导入 js 文件很简单……只需使用>script src='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
}
但我不确定第二个 ajax 执行是否足以现在能够成功调用这些函数。
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 因为开发人员工具)。
感谢您的评论和建议。