Xamarin Forms WebView中的Javascript注入

3

我想改变Xamarin Forms WebView中元素的值

我创建了一个新项目并添加了一个WebView页面,该页面加载https://www.google.com/
我使用了.Eval方法

m_GoogleWebView.Eval("alert('coolness!');");

这对我来说可以正常弹出警告。但是,如果我尝试访问DOM,它只会用文本“test text”替换WebView。

m_GoogleWebView.Eval("document.getElementById('lst-ib').value='test text';");

我该如何操作来自Xamarin Forms的元素?

1个回答

7
任何在Android 4.1之后的WebView都存在此问题。你需要做的是将你的脚本分配给一个变量,如下所示:
m_GoogleWebView.Eval("var x = document.getElementById('lst-ib').value='test text';");

这仍然运行脚本,但现在只是将结果赋值给变量,而不是DOM。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接