CQM*_*CQM 8 javascript android function code-injection webview
(使用三星Galaxy Tab和Android 3.0,这适用于每个3.0+平板电脑,就像在浏览器中一样,而不是webview)
我有一个CSS和jQuery的页面在浏览器,Android浏览器和iOS设备中加载很好,但android webview拒绝一致地加载它.
我已经缩小了问题,只是在加载javascript时跳过javascript(通过复制一些webview javascript演示应用程序的问题).为什么是这样?
这是完整的测试HTML代码
http://pastebin.com/GmE2vEYx
以下是我称之为:
myWebview.loadUrl("file:///android_asset/myPage.html");
myWebview.getSettings().setJavaScriptEnabled(true);
myWebview.setWebChromeClient(new WebChromeClient());
Run Code Online (Sandbox Code Playgroud)
这三个调用的顺序不会影响结果.
myWebview.getSettings().setJavaScriptEnabled(true);
myWebview.setWebChromeClient(new WebChromeClient());
myWebview.loadUrl("file:///android_asset/myPage.html");
Run Code Online (Sandbox Code Playgroud)
我注意到的一件事是,如果你给它时间(通过在调试器中暂停应用程序断点),那么javascript将更加一致地加载.这导致我尝试使应用程序加载速度较慢的一些牵强附会的实验,但这实际上不是所需的用户体验.我真的希望Android webview真的不是移动开发的IE6.
其他事实:
如果删除<script>包含所有Jquery 的标记,则页面会快速加载所有CSS格式.一旦添加了Jquery,就什么都没有加载.
我还发现了几个遇到完全相同问题的其他问题,许多问题没有得到答复,或者对OP正在寻求的内容没有确切的答案:(
看: Android:即使使用setJavaScriptEnabled(true)也无法让javascript在WebView上运行
页面重新加载(Webview.loadUrl)导致Javascript未被(完全)处理
http://groups.google.com/group/android-developers/browse_thread/thread/9962064ef217a5a7#
JavaScript有时在android的webview中不起作用
Android WebView没有加载JavaScript文件,但Android浏览器加载它很好
Android的Webview无法处理javascript?
建议?让我们来到这个底部!android文档说webview有局限性,但我不知道那个限制在哪里,因为人们一直在制作HTML CSS JS应用程序!
答案是 JavaScript 需要位于 HTML 页面<script>部分的函数中,然后需要注入
webview.loadUrl("javascript:yourJavascriptFunction()") after webview.setWebviewClient(new WebviewClient(){ public void onPageFinishedLoading(){ ...//js injections here });
| 归档时间: |
|
| 查看次数: |
9165 次 |
| 最近记录: |