我有一個android項目,具有web視圖。此webview加載存儲在我的資產文件夾中的靜態html文件。另外在我的資產文件夾中是第三方JavaScript庫(rangy)。在我的html文件的頭部有腳本標記中有一些javascript。該javascript引用rangy庫中的方法和對象。我有我的html文件參考rangy通過腳本標記。當我嘗試使用函數和方法時,出現錯誤消息:Android WebView:使用腳本標籤從我的資產文件夾加載外部javascript文件
Cannot call method '[any method from rangy library]' of
undefined
這裏是相關的代碼片段。
這是我包括瘦長:
<html lang="en">
<head>
<title> </title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script type="text/javascript" src="rangy.js"></script>
<script type="text/javascript" src="rangy-serializer.js"></script>
<script type="text/javascript">
//...My native js
</script>
</head>
這裏是瘦長庫的真正廣泛的行程。我只包括興田圖書館在這個崗位,我覺得是有關我的問題的部分:
window['rangy'] = (function() {
//This is all the code for rangy
});
這裏是我的家鄉JS的部分引用瘦長。在最後的catch塊輸出錯誤的HTML文檔的身體,由於Android的WebView不默認提供以下信息:
jsHandler.restoreSelection = function(selectionDetails) {
try{
window.document.body.style.background="yellow";
window.rangy.deserializeSelection(decodeURIComponent(selectionDetails.replace(/\s+$/, "")));
window.document.body.style.background="green";
}
catch(err){
window.document.body.innerHTML = err.message;
}
};
我有我的應用程序的按鈕將火jsHandler.restoreSelection ()函數。當我按下該按鈕時,背景會從白色變爲黃色,但是隨後該命令會捕獲異常,並用我張貼的錯誤消息替換正文文本。我的應用程序設置有什麼問題?從資產文件夾中的html文件引用外部js文件的正確方法是什麼? (注意:我確實已經打開了javascript)。
謝謝先進!