首页 文章

脚本文件未在Android Webview自定义渲染器中加载

提问于
浏览
1

我使用Android WebView渲染器加载了本地html . html正确加载 . 但是没有加载在html文件中引用的脚本 . 脚本文件位于assets文件夹中 .

Render File Code

protected override void OnElementChanged(ElementChangedEventArgs<HybridWebView> e)
            {
                base.OnElementChanged(e);

                if (Control == null)
                {
                    var webView = new Android.Webkit.WebView(Forms.Context);
                    webView.Settings.JavaScriptEnabled = true;
                    if (Build.VERSION.SdkInt >= Build.VERSION_CODES.JellyBean)
                    {
                        webView.Settings.AllowUniversalAccessFromFileURLs = true;
                        webView.Settings.AllowFileAccessFromFileURLs = true;
                    }
                    SetNativeControl(webView);
                }

                if (e.NewElement != null)
                {

                    Control.LoadUrl("file:///android_asset/Sample/index.html"); 
                }
            }

Html Code

<!DOCTYPE html>
<html class="no-js">
    <head> 
		<script src="file:///android_asset/jquery-1.10.2.min.js"></script>
			<!-- Render -->
			<script src="file:///android_asset/epub.min.js"></script> 
		<script type="text/javascript">     
		var book = ePub("file:///android_asset/Sample/Azure_Cosmos_DB_and_DocumentDB_Succinctly/);
		  $(document).ready(function () { 	 
			book.renderTo("area");
		});       
    </script>
    </head>
    <body>
 <div id="main">
    <div id="prev" onclick="book.prevPage()" style="font-size: 64px;cursor:pointer;" class="arrow">‹</div>
    <div id="area" ></div>
    <div id="next" onclick="book.nextPage()" style="font-size: 64px;cursor:pointer;" class="arrow">›</div>    
</div>    
    </body>
</html>

谁能建议我在webview渲染方法中加载相应的JS文件?

1 回答

  • 1

    通常,您将脚本标记放在HTML的底部而不是顶部 .

    <!DOCTYPE html>
    <html class="no-js">
        <head> 
        </head>
        <body>
     <div id="main">
        <div id="prev" onclick="book.prevPage()" style="font-size: 64px;cursor:pointer;" class="arrow">‹</div>
        <div id="area" ></div>
        <div id="next" onclick="book.nextPage()" style="font-size: 64px;cursor:pointer;" class="arrow">›</div>    
    </div>    
        </body>
    <script src="file:///android_asset/jquery-1.10.2.min.js"></script>
    <!-- Render -->
    <script src="file:///android_asset/epub.min.js"></script>
    <script type="text/javascript">
        var book = ePub("file:///android_asset/Sample/Azure_Cosmos_DB_and_DocumentDB_Succinctly/");
        $(document).ready(function () {
            book.renderTo("area");
        });
    </script>
    </html>
    

    你也忘记了“在 var book = ePub("file:///android_asset/Sample/Azure_Cosmos_DB_and_DocumentDB_Succinctly/"); 的最后

相关问题