在服务器端执行Javascript


Execute Javascript server side

我对混淆JS代码很感兴趣,但我在论坛上意识到这是无用的。无论如何,我都想混淆我的代码。所以我想知道,是否可以在服务器端执行JS代码(例如使用node.JS中的应用程序),并通过带有上下文的Ajax函数(如dom或其他东西)进行调用,在服务器端运行,然后将结果返回给页面。

它对我来说可能非常有用,可以只显示基本的JS函数,但不显示我的应用程序的核心。。。

也许已经有了解决方案,但我在网上什么也没找到。。。

编辑:

我认为有了node.js,就有了解决方案。例如,我指的是客户端中的一个简单JS函数,如:call_func('function_name',context);使用ajax调用服务器端JS调度器函数,该函数返回包含结果的JS对象。

也许我在做梦?:)

谢谢你的帮助。

您可以用PHP重写计算,或者如果需要动态使用它们/访问DOM,您可以使用AJAX在服务器端使用PHP进行计算,然后在不重新加载页面的情况下接收PHP脚本的输出。

你可以在这里阅读AJAX(我建议你使用jQuery,因为它比理解HTTP请求简单得多):

http://api.jquery.com/jQuery.ajax/

虽然我同意您可能应该使用服务器端语言,并通过ajax从dom获得所需的信息,但事实并非如此。您可以在服务器上使用例如jsdom来模拟dom,您可以在这里找到它https://github.com/tmpvar/jsdom用于nodejs。其他语言也有类似的程序包。

你梦想中的调度可以使用nowjs实现http://nowjs.com/.

我没有使用这两种工具的经验,所以我不能评论它们的效果如何。

AJAX是最好的选择。在xhr.send('func=myfunc')中发送函数名称
首先创建一个伪分区。

<div id="dummy"></div>

然后在js代码中创建一个switch用例,并调用函数:

switch(<?echo $_POST['func'];?>){  
  case 'myfunc':  
    document.getElementById("dummy").innerHTML=myfunc();  
    break;  
}

然后只需使用xhr.responseText.