Rhino打印功能
Rhino print function
我使用Rhino 1.7R4和env.js 1.2在Java 中运行Javascript代码
我想从我的Javascript代码中打印一个字符串到Java控制台。
根据:http://evilroundabout.blogspot.com.au/2009/11/javascript-printing-rhino.html
我应该使用:印刷品("你好世界");
但当我这样做的时候,我会得到:
org.mozilla.javascript.EcmaError: ReferenceError: "print" is not defined. (svg-renderer-highcharts-2.1.4.js#20)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665)
at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3750)
at org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1794)
at org.mozilla.javascript.ScriptRuntime.getNameFunctionAndThis(ScriptRuntime.java:2188)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1308)
at script.renderSVGFromObject(svg-renderer-highcharts-2.1.4.js:20)
如果我使用document.write,我看不到任何输出。
我认为这在嵌入式模式下不起作用,我认为这只会在Rhino控制台中起作用。
您可以使用java.lang.system.out.println
java.lang.System.out.println("HELLO")
您可以很容易地使用rhino shell使用的相同作用域。犀牛壳依赖于一个名为Global的特殊构造的作用域实例,该实例定义了几个函数,如"print"。下面的示例演示了如何使用Global和"print"函数。这将在stdout中打印两次"Hello World!"。
import org.mozilla.javascript.Context;
import org.mozilla.javascript.tools.shell.Global;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
Context cx = Context.enter();
Global global = new Global(cx);
cx.evaluateString(global, "print('Hello World!')",
"helloWorld.js", 1, null);
Context.exit();
}
}
我在挖掘Rhino shell可执行文件后通过实验发现了这一点。
为了完整起见,以下是global定义的其他全局函数:
"defineClass",
"deserialize",
"doctest",
"gc",
"help",
"load",
"loadClass",
"print",
"quit",
"readFile",
"readUrl",
"runCommand",
"seal",
"serialize",
"spawn",
"sync",
"toint32",
"version"
您可以创建自己的:
function print() {
for( var i = 0; i < arguments.length; i++ ) {
var value = arguments[i];
java.lang.System.out.print( value );
}
java.lang.System.out.println();
}
function printf( format ) {
java.lang.System.out.printf( format, Array.prototype.slice.call(arguments) );
}
截至2014年1月,上的方法和属性列表
new org.mozilla.javascript.tools.shell.Global( org.mozilla.javascript.Context.enter() )
看起来如下:
defineClass
deserialize
doctest
gc
getConsole
getErr
getIn
getOut
getPrompts
help
init
init
initQuitAction
installRequire
isInitialized
load
loadClass
pipe
print
quit
readFile
readUrl
runCommand
runDoctest
seal
serialize
setErr
setIn
setOut
setSealedStdLib
spawn
sync
toint32
version
相关文章:
- JavaScript打印功能使日历停止工作
- Rhino打印功能
- 检测用户是否具有打印功能
- 为什么这个功能打印“;未定义的未定义的“;作为联系人名称,添加“新对象”
- ScriptX 打印功能在 IE8 中不起作用
- 打印功能在Chrome中无法正常工作
- Angular UI TinyMCE,如何设置打印功能
- 自定义打印功能,打印内容未显示在第一个事件触发器上
- 如何使用 MVC4 C# 禁用 iframe 中的打印功能和只读文件
- 如果功能多次激活,请多次停止输出打印
- 屏幕阅读器和 JavaScript 打印功能
- 如何在 javascript 中取消打印功能后重新加载脚本
- 如何使用PHP打印功能打印图像
- Openlayers打印功能
- 是否可以重新定义JavaScript打印功能
- 无法使用JavaScript打印功能打印图像
- Chrome中的打印功能不再工作
- 浏览器上的web控件所需的打印屏幕功能
- JQuery 打印功能无法打印
- IE7&IE8 javascript打印功能