我想解释html页面脚本,但想要禁用任何伤害我的计算机的可能性.是否有任何官方教程或示例如何配置此类功能?(我在官方网站上找不到)
(免责声明:在RingoJS中使用Rhino)
假设我有一个带元素的文档,我看不出如何将节点作为字符串附加到此元素.为了将字符串解析为xml节点然后将它们附加到节点,我尝试使用documentFragment,但我无法到达任何地方.简而言之,我需要像.NET的.innerXML一样简单,但它不在java api中.
var dbFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
var dBuilder = dbFactory.newDocumentBuilder();
var doc = dBuilder.newDocument();
var el = doc.createElement('test');
var nodesToAppend = '<foo bar="1">Hi <baz>there</baz></foo>';
el.appendChild(???);
Run Code Online (Sandbox Code Playgroud)
如何在不使用任何第三方库的情况下执行此操作?
[编辑]在示例中并不明显,但我不应该知道变量'nodesToAppend'的内容.所以,请不要指向有关如何在xml文档中创建元素的教程.
我的目标是从函数表中调用一个函数来概括命令处理(即间接)。不幸的是,this是undefined这样调用的。
function Server() {
this.sessions = {};
server = this;
this.handlers = {
"dummy" : server.dummyCommandHandler,
};
}
Server.prototype.dummyCommandHandler = function() {
print (this.sessions);
}
Server.prototype.run = function ( command ) {
print (this.sessions); // [Object object]
this.handlers[command.name](); // prints 'undefined'
this.dummyCommandHandler(); // prints '[Object object]'
}
s = new Server();
s.run({ "name": "dummy" });
Run Code Online (Sandbox Code Playgroud)
这是我第一次使用 javascript,我以为我已经确定了范围,但显然它比看起来更复杂。this使用server变量别名服务器没有帮助(我认为可能this在handlers对象内易手)。this间接调用函数时的作用域是什么?
我正在尝试连接到使用Comet的应用程序,并且对Javascript和Comet非常重视.我已经走了尽可能远的Firebug,HTTP Header检查,并试图通过使用Ruby Mechanize编写一些内容来查看线路上的内容.
但是,由于我没有客户端运行时,我的方法是模仿来回的HTTP请求(使用Ruby Mechanize执行此操作).我正在查看日志并将它们与LiveHTTPHeader输出进行比较,它非常相似,但服务器没有响应(我无法访问服务器端代码).
有没有可以提供帮助的工具?有没有人尝试使用像Rhino这样的东西模拟DOM和Javascript运行时,还是只是要求痛苦?
我发现Java 6包含Rhino JS(除了一个或两个小块),as javax.script.太酷了!
Java 6安装(JRE或JDK)是否包含二进制文件,我可以简单地指向要运行的.js文件?(我认为能够为其他人提供源代码来阅读和运行,无需编译,并且只需要安装Java就好了.)或者我是否必须在文档中构建小的8行程序?
任何人都可以给我一个很好的例子,将犀牛嘲讽,nunit和团结一起使用.我正在阅读每个方面的帮助,但似乎没有任何关于如何一起使用它们的好示例项目以及使用它们设置项目/测试项目的方法.即你在测试项目中创建新的ioc容器,指向虚拟类.然后犀牛在哪里进入它.
谢谢你的帮助.
我正在使用Rhino Mock 3.6 Repository和Nhibernate.但是我得到ExpectationViolationException预期#0,实际#1.我花了两天时间.我不知道我做错了什么.这是我的代码.我在mockRepository.Save(用户)行上遇到错误.
var username = "abcdef";
var mocks = new MockRepository();
var validationResults = new ValidationResults();
IDataQuery query = mocks.StrictMock<IDataQuery>();
UserRepository mockRepository = mocks.StrictMock<UserRepository>(query);
var user = mocks.StrictMock<User>();
user.FirstName = "javed";
user.LastName = "ahmad";
user.UserName = "abc";
user.Password = "password";
user.Email = "nadeem@test.com";
user.IsActive = true;
user.CreatedBy = 1000000;
user.CreatedDate = DateTime.Today;
user.ModifiedBy = 1000000;
user.ModifiedDate = DateTime.Today;
Expect.Call(user.Validate()).Return(validationResults);
mocks.ReplayAll();
mockRepository.Save(user);
Run Code Online (Sandbox Code Playgroud)
提前致谢.
谢谢伊姆兰
我正在使用JVM中的rhino和jaxax.script接口.我正在尝试评估包含"require"调用的JavaScript.这不起作用,因为没有'require'的定义.只需要一个v8的东西?或者只是一个node.js的东西?在JVM上有解决方法吗?我能想到的选择是
(我不一定推荐这些方法.)
我将以下代码与RhinoJava中的JavaScript引擎一起使用:
@Test
public void testRhino() throws ScriptException {
final ScriptEngineManager factory = new ScriptEngineManager();
final ScriptEngine engine = factory.getEngineByName("rhino");
final String raw = "I am the raw value injected";
final ScriptContext ctx = new SimpleScriptContext();
ctx.setAttribute("raw", raw, ScriptContext.ENGINE_SCOPE);
String script = "var result = 'I am a result';";
script += "java.lang.System.out.println(raw);";
script += "'I am a returned value';";
final Object res = engine.eval(script, ctx);
System.out.println(ctx.getAttribute("result"));
System.out.println(res);
}
Run Code Online (Sandbox Code Playgroud)
脚本的输出(使用Rhino)为:
I am the raw value injected
I am …Run Code Online (Sandbox Code Playgroud)