簡體   English   中英

加載html后,將資源中的js文件加載到webview中

[英]Loading a js file from assets into webview after loading html

我搜索了很多,但無法找到任何解決方案。 我基本上在webview中使用突出顯示文本等功能制作一個epub閱讀器。我為此制作了一些javascript文件。 但是要在html頁面中添加js文件,我需要在html文件中定義它,如:

<script src='file:///android_asset/jquery.js'></script>

但由於html可以是任何文件,我必須使用其他方法加載文件。 我試過用

view.loadUrl("javascript:loadScript('file:///android_asset/jquery.js','callback')");

但它沒有加載我的js(我稱它的一些功能,但它們沒有工作)。

我也試過這個解決方案,但沒有奏效。 基本上,我只需要在webview上加載我的js文件,以便以后可以使用它的功能。 這聽起來像一個簡單的任務,但我無法找到任何解決方案。 有任何想法嗎?

您將需要使用loadDataWithBaseURL來達到目的。

更新:

我沒有看到在任何地方加載到頁面中的實際方法loadScript(),因此您可以在調用javascript:loadScript()之前嘗試自己創建loadScript方法。

     view.loadUrl("javascript:function loadScript(url, callback)" +
                            "{" +
                            "    var head = document.getElementsByTagName('head')[0];" +
                            "    var script = document.createElement('script');" +
                            "    script.type = 'text/javascript';" +
                            "    script.src = url;" +
                            "    script.onreadystatechange = callback;" +
                            "    script.onload = callback;" +
                            "    head.appendChild(script);" +
                            "}");
view.loadUrl("javascript:loadScript('file:///android_asset/jquery.js','callback')");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM