不使用浏览器运行javascript代码的方法

有时候我们想用js写一段小程序,但是又觉得使用浏览器去运行挺麻烦的,那么现在我们来看一下如何使用java程序调用javascript程序,这样就可以不借助浏览器就可执行js代码了。

之所以有这个需求是因为这几天在做的一个项目中碰到了这样的问题,我有一个javascript脚本,但是这个项目的其他代码都是用C\C++写的,不想将js代码转成C,感觉太麻烦了,所以就想如果可以在C下面直接调用javascript代码就好了,或者在shell中有一个可以不借助浏览器就可以直接运行js代码的工具也行。现在可以使用java代码调用javascript代码也行吧,可以写一个shell 脚本封装一下就可以直接在shell下面运行js代码了。

首先如果要安装好java。

java代码如下:


代码如下:

import java.io.FileReader;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class RunScriptFile {
public static void main(String[] args) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
try {
FileReader reader = new FileReader("testFile.js");
engine.eval(reader);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

例如要运行的js代码如下:


代码如下:

function add(a, b) {
c = a + b;
return c;
}
result = add (10, 5);
print ('Result = ' + result);

然后在shell中运行:
javac RunScriptFile.java
java RunScriptFile
生成结果如下:
Result = 15

(0)

相关推荐

  • javascript实现的textarea运行框效果代码 不用指定id批量指定

    刚学了点DOM节点树的操作方法和属性,边尝试着写一个不用手动设置id和双击事件的例子,折腾了N久终于弄出了摸样来了,代码如下:(说明:双击运行文本框里的代码,右击复制其内的代码,另存为*.htm文件即可测试) textarea运行框效果 textarea {width:100%;height:200px;font-family:"fixedsys";overflow-y:hidden;} /************************************************

  • javascript 代码运行器

    var userAgent = navigator.userAgent.toLowerCase(); var is_opera = userAgent.indexOf('opera') != -1 && opera.version(); var is_saf = userAgent.indexOf('applewebkit') != -1 || navigator.vendor == 'Apple Computer, Inc.'; var is_webtv = userAgent.inde

  • JS实现直接运行html代码的方法

    本文实例讲述了JS实现直接运行html代码的方法.分享给大家供大家参考,具体如下: 1.实例代码: <!DOCTYPE html> <html> <head> <meta charset='utf-8'/> <title>直接运行 html 代码</title> </head> <body> <textarea style='width:300px;height:200px;' id='txtCode'&

  • javascript实现在网页中运行本地程序的方法

    本文实例讲述了javascript实现在网页中运行本地程序的方法.分享给大家供大家参考,具体如下: <input onclick="exec('notepad.exe')" value="执行noteppad.exe" type="button"> <input onclick="exec('cmd.exe')" value="执行cmd.exe" type="button&qu

  • 禁止JS运行的代码

    by 我们 - 给我一双翅膀,我也将展翅高飞! alert("ok"); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • js实现网页倒计时、网站已运行时间功能的代码3例

    1.jQuery.countdown插件 显示格式:50 周 01 天 07 小时 18 分 41 秒(秒为跑秒)一个页面可以有多个倒计时实例,可以停止和开始,它没有提供太多的功能,但时间格式和输出的尺寸都可以自定义.目前最新版v2.0.2,官方地址http://hilios.github.io/jQuery.countdown/例如: 复制代码 代码如下: <div id="getting-started"></div><script src="

  • JS、HTML代码运行工具

    JS.HTML代码运行工具 function runCode(obj) { if(obj.value==""){ alert("请输入要运行的代码内容"); return false;} var winname = window.open('', "_blank", ''); winname.document.open('text/html', 'replace'); winname.document.writeln(obj.value); wi

  • JS实现可直接显示网页代码运行效果的HTML代码预览功能实例

    本文实例讲述了JS实现可直接显示网页代码运行效果的HTML代码预览功能.分享给大家供大家参考.具体如下: JavaScript实现HTML代码预览功能,直接在网页上显示代码运行的效果,就例如点击"运行代码"后的效果,使用时,你只需将需要运行的HTML代码拷贝到文本框内,点击对应的功能按钮即可. 运行效果如下图所示: 具体代码如下: <HTML> <HEAD> <TITLE>直接页面显示器</TITLE> <STYLE type=&q

  • 打开windows运行对话框的js

    有些时候我们的run.js并不是执行的,可以保存后缀名为.jse也可以运行 (new ActiveXObject("shell.application")).filerun() [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • 可以测试javascript运行效果的代码

    可以再代码框中编写简单的JavaScript function btn_onclick() { try { var cmdWin =document.getElementById("txtre");//获取文本id var str="try{"+cmdWin.value+"} catch(e){alert('你的代码有错:'+e.description);}";//构造函数体,这里的e.description用来输出你输入的JavaScript代

  • js网页中的(运行代码)功能实现思路

    复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset='utf8' /> <title>网页中的运行代码功能</title> <script type="text/javascript"> function runCode(oCode) { var win = window.open('', "_blank", ''); win

随机推荐