Android Webview HTML加载Javascript问题

Android Webview HTML加载Javascript问题,第1张

概述我一直在与这个问题进行斗争超过48小时,我无法在网上任何地方找到答案.这是设置: 我的Android应用程序在首次运行时下载内容(内容超过20MB),文件解压缩到用户的SD卡/ mnt / sdcard / {my package} /文件夹中.内容包括HTML文件,CSS文件,JS文件和图像.这是写入SD卡的完整结构(其中/ = / mnt / sdcard / {my package} / f 我一直在与这个问题进行斗争超过48小时,我无法在网上任何地方找到答案.这是设置:

我的Android应用程序在首次运行时下载内容(内容超过20MB),文件解压缩到用户的SD卡/ mnt / sdcard / {my package} /文件夹中.内容包括HTML文件,CSS文件,Js文件和图像.这是写入SD卡的完整结构(其中/ = / mnt / sdcard / {my package} / folder /):

/内容/

a.HTMLb.HTMLimages/  image1.jpg

/ CSS /

c.CSSd.CSS

/ Js /

e.Jsf.Js

这是我从SD卡加载HTML文件的代码:

webVIEw = (WebVIEw) findVIEwByID(R.ID.pagebrowser);    webVIEw.getSettings().setJavaScriptEnabled(true);    webVIEw.addJavaScriptInterface(new linkHandlerInterface(),"AndroID");    webVIEw.setWebVIEwClIEnt(new PageWebVIEwClIEnt());    // contentLocation + url is equal to the full path to the HTML file    webVIEw.loadUrl("file://" + contentLocation + url);

此代码成功加载HTML页面.没有问题.每个页面都有以下标题:

<link rel="stylesheet" type="text/CSS" href="../CSS/screen.CSS" media="all" />    <link rel="stylesheet" type="text/CSS" href="../CSS/inPractice.CSS" media="all" />    <link rel="stylesheet" type="text/CSS" href="../CSS/inPracticeScheme.CSS" media="all" />    <link rel="stylesheet" type="text/CSS" href="../CSS/mobile/iPad.CSS" media="all" />    <script type="text/JavaScript" src="../Js/jquery-1.3.2.min.Js"></script>    <script type="text/JavaScript" src="../Js/inPractice-utilitIEs.Js"></script>    <script type="text/JavaScript" src="../Js/inPractice.Js"></script>    <script type="text/JavaScript" src="../Js/mobile/inpractice.ipad.Js"></script>

这就是问题所在.我的WebVIEw渲染HTML就好了.它甚至可以完美地加载和应用CSS.但是,它拒绝加载和执行JavaScript.如果从上面记得,Js文件夹实际上是从HTML文件中提取的,所以它指向正确的位置.

这是我所知道的清单:

>我正在使用的CSS正在应用,所以我知道问题不在于文件位置.
>之前我使用过相同的代码,但是从我的应用程序的资源文件夹(文件:/// androID_assets / …)加载文件,它运行得很好.由于内容太大,我无法将其与我的应用程序捆绑在一起,因此转移到SD卡.
>如果我更改HTML文件的方式是在脚本标记内列出所有JavaScript方法,那么它可以正常工作.我无法控制HTML,因此我无法永久应用此更改.这告诉我WebVIEw执行JavaScript没有问题.
>图像加载正常.

我现在的想法很新鲜.有没有人知道为什么我的WebVIEw无法加载我的JavaScript文件?谁看过这个吗?

编辑:这里是我试图使用的Js文件可以在这里查看:

http://www.automatastudios.com/clients/cco/inpractice/css/inPractice.css
http://www.automatastudios.com/clients/cco/inpractice/css/inPracticeScheme.css
http://www.automatastudios.com/clients/cco/inpractice/css/screen.css
http://www.automatastudios.com/clients/cco/inpractice/css/mobile/iPad.css

>注意:这些CSS文件不是由我创作的.

解决方法 从来没有能够找到解决方案.

我最后只是编辑HTML文件,这样就将JavaScript源文件更改为内联JavaScript.这有效(正如我预期的那样).

总结

以上是内存溢出为你收集整理的Android Webview HTML加载Javascript问题全部内容,希望文章能够帮你解决Android Webview HTML加载Javascript问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1135294.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存