And*_*een 2 javascript java rhino javax.script
我在Java中使用javax.script,我希望能够检测当前的Javascript实现是否是Rhino.我这样做是因为我需要脚本才能在网页和Rhino上正常工作.
Javascript伪代码:
function writeMessage(message) {
if (implementation is Rhino) {
print(message);
}
else if (script is running in a web browser) {
document.write(message);
}
}
Run Code Online (Sandbox Code Playgroud)
啊,我们在你的评论中得到了它.只需使用功能检测:
var writeMessage = document && document.write
? document.write.bind(document)
: print;
Run Code Online (Sandbox Code Playgroud)
然后使用writeMessage(string)你的脚本.这是一个短期形式的
if (document && document.write)
var writeMessage = function(message) { document.write(message); };
else
var writeMessage = function(message) { print(message); };
Run Code Online (Sandbox Code Playgroud)
这比你在问题中建议的更好,每次调用函数时都会应用检测:
function writeMessage(message) {
if (document && document.write) { // running in a web browser
document.write(message);
} else { // it will be Rhino
print(message);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
609 次 |
| 最近记录: |