2013-08-16 33 views
1

背景故事(或者什麼,我試圖做)的WebView上的iframe

我有我的應用程序網頁視圖加載從資產文件夾中的HTML文件loadDataWithBaseUrl。該文件中有2個iframe。

然後用戶在應用程序中導入一些zip文件,其中包含要在這些iframe中加載的其他文件。我加載這些文件的方式是將它們的文件傳遞給主頁面(包含2個iframe的JavaScript函數),rest是javascript。然後,在用戶文件加載到iframe後,主頁面會注入一些額外的js和javascript。一切工作正常。

問題

一切都很好。除了該文件是一個xhtml文件。注入的javascript有一些dom操作函數,當文件被加載爲text/xhtml時不起作用。我有使用鉻嵌入式框架的相同應用程序的PC版本,我通過編寫自定義資源加載程序來加載所有帶有text/html mimetype的xhtml文件,從而解決了該問題。

我試過到目前爲止

我試圖做同樣的Android版本。除了我沒有反正在Java端的webview內的目標iframe。

我使用shouldOverrideUrlLoading(WebView view, String url),如果它是.xhtml url,則返回true。我認爲(因爲函數在CEF中的對應部分),該函數中的第一個參數將是iframe並使用loadDataWithBaseUrl。原來它不是iframe,而是主要的webview本身。

問題

反正是有數據加載到從Java框架中,使用一個類似的功能? 如果不是,你有任何建議將這些文件作爲文本/ HTML而不是文本/ XHTML。

或者有什麼我可以在JavaScript方面做?

回答

0

好吧,

通過重命名.xhtml文件,.html文件,同時導入解決了這一情況。

但仍然缺乏從java案件訪問iframe的webviews。 通過使用單獨的webviews而不是iframe來解決這個問題。

我想我必須使用部分鉻源(ChromeView)才能訪問內部框架。儘管api與WebView不相似或兼容,但我可以使用chromeviews自己的api。