javascript在android 3.0中无效

时间:2011-12-15 14:39:09

标签: javascript android webview android-3.0-honeycomb

我在以下链接中找到了一个示例应用

http://code.google.com/p/chaek/

该应用程序是一个epub阅读器,单片机库,其中已加载该书,它用于每页更改。该应用程序的主要部分基于java脚本代码。

当我在我的Android手机中运行代码时,它工作正常,电子书被加载,我能够明智地改变它,当我在Android 3.1的三星平板电脑中尝试应用程序时,这本书被加载但不是能够逐页改变它的章节。

当我尝试打印一些日志错误时,我只从我的平板电脑获得以下行

[METHOD] void openChapter(chapNo:1)
[CALLBACK_WV] void onPageStarted(view:android.webkit.WebView@40d32f58, url:file:///mnt/sdcard/gisbook/.9789026324710/OEBPS/html/, favicon:null)
[CALLBACK_WV] void onPageFinished(view:android.webkit.WebView@40d32f58, url:file:///mnt/sdcard/gisbook/.9789026324710/OEBPS/html/)
javascript:getTotalPageNum()
javascript:openPageByPercentage(0.0)
Uncaught ReferenceError: getTotalPageNum is not defined at null:1
Uncaught ReferenceError: openPageByPercentage is not defined at null:1

而从android手机中,以上几行如下

 [CALLBACK_WV] void onPageStarted(view:android.webkit.WebView@44f4a130, url:file:///sdcard/.9789026324710/OEBPS/html/, favicon:null)
 [CALLBACK_WV] void onPageFinished(view:android.webkit.WebView@44f4a130, url:file:///sdcard/.9789026324710/OEBPS/html/)
 javascript:getTotalPageNum()
 javascript:openPageByPercentage(0.0)
 [BRIDGE] void setTotalPageNum(page:1)
 [METHOD] void selectBookmark()

为什么android手机和平板电脑之间存在这样的差异,是webview在android平板电脑ie3.0及以上版本中的问题

我与代码作者分享了这个问题,他也无法对此有所了解。

当我在谷歌上搜索这个时,我遇到了很多程序员说在webview上工作的java脚本问题。我尝试了大部分答案,但没用。

任何人都可以解释我或弄清楚为什么会出现这样的错误......请

2 个答案:

答案 0 :(得分:3)

我得到完全相同的错误,它只出现在Honeycomb和Ice Cream Sandwich上。在姜饼上它工作正常。

我解决这个问题的方法是使用“<script src=...></script>”代替“<script src=.../>”。我从来没有想过这会有所作为,但事实确实如此。似乎是一个webkit错误。

答案 1 :(得分:1)

scriptElement.setAttribute(“src”,“url('file:/// android_asset /”+ path +“')”);

需要替换为这个:

scriptElement.setAttribute(“src”,“file:/// android_asset /”+ path);