如何注入javascript函数并在以后使用gecofx调用它
本文关键字:gecofx 调用 何注入 注入 函数 javascript | 更新日期: 2023-09-27 18:27:15
我正在使用GeckoFX 29和xulrunner。
string text = " function hi(){ return 1;}";
GeckoElement script = geckoWebBrowser.Document.CreateElement("script");
script.SetAttribute("type", "text/javascript");
script.SetAttribute("language", "javascript");
GeckoTextNode popText = geckoWebBrowser.Document.CreateTextNode(text);
script.AppendChild(popText);
geckoWebBrowser.Document.Head.AppendChild(script);
稍后我会这样调用这个函数。
using (AutoJSContext context = new AutoJSContext(geckoWebBrowser.Window.JSContext))
{
context.EvaluateScript(" hi();" , out result);
}
我没有得到函数hi返回的值,结果为空,评估脚本返回false。
这是怎么回事?有人帮忙吗?感谢
我怀疑像这样将脚本附加到文档中是否会导致对其进行解析。
但是执行这样的脚本应该具有添加函数的预期效果:
string text = " function hi(){ return 1;}";
using (AutoJSContext context = new AutoJSContext(geckoWebBrowser.Window.JSContext))
{
context.EvaluateScript(text, out result);
}
然后,稍后你可以像以前一样称之为:
using (AutoJSContext context = new AutoJSContext(geckoWebBrowser.Window.JSContext))
{
context.EvaluateScript(" hi();" , out result);
}