Injecting JQuery into Android Webview
Injecting JQuery into Android Webview
我正在做一个项目,翻译网页并将其显示在android应用程序中。我已经通过使用以下代码将Javascript注入webview android成功地做到了这一点:
@Override
public void onPageFinished(WebView view, String url)
{
String jap = "お問い合わせ";
String eng = "Contact Us";
mWebView.loadUrl("javascript:(function(){" +
"var jpf = '"+jap+"';" +
"var jp = new RegExp(jpf,'g');" +
"var en = '"+eng+"';" +
"document.body.innerHTML = " +
"document.body.innerHTML.replace(jp,en);" +
"})()");
}
然而,这是一种非常无效的方法,因为它会搜索每个术语并替换它。因此,我尝试用jQuery的字典做一些类似的事情:
@Override
public void onPageFinished(WebView view, String url)
{
mWebView.loadUrl("javascript (function(){" +
"var myDictionary = {" +
"jp : {" +
"'お問い合わせ' : 'Contact Us'" +
"}" +
"}" +
"$.tr.dictionary(myDictionary);" +
"$.tr.language('jp');" +
"var tr = $.tr.translator();" +
"alert(tr('お問い合わせ'))" +
"})()");
}
这似乎不起作用。请帮忙。
注:我打算用一个以上的单词来填字典。对于第一段代码,我已经创建了一个循环来更改变量jap
和eng
,但效率很低。为了增加简单性,我选择不包含该代码。感谢
直接来源:https://developer.chrome.com/multidevice/webview/gettingstarted#enable_javascript
启用JavaScript
默认情况下,WebViews不允许使用JavaScript。要在web视图中运行web应用程序,您需要通过在onCreate方法中添加以下行来显式启用JavaScript:
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
相关文章:
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 如何检测WebView Android中的按钮点击
- JavaScript in WebView - Android Studio
- 如何在webview android中强制打开电子邮件验证
- shouldoverrideurlloading not called Webview Android
- WebView Android 和 JavaScript 调整大小
- css 背景图像未在 webview android 中加载
- 在 WebView Android 中扫描条形码
- 通过JavaScript或其他内容在WebView Android的输入框中填充一些文本
- 在 WebView android 中自动填写字段
- 如何在webview android SDK中调用谷歌搜索按钮
- jqmath在webView android中左对齐
- JavaScriptInterface类从未被调用来在webview android上加载html
- 在禁用javascript的webview android中执行javascript
- webview android最大限度地减少Java脚本加载时间
- 从webview Android调用javascript函数
- 在WebView Android中注入JavaScript
- 如何模拟键盘事件与javascript(或不是javascript)在webview (android)键入文本区
- 家长在webview Android中不工作
- WEBVIEW-Android无法在chrome浏览器中实现类似css的功能