雖然在SO(我可能讀過其中大部分)中討論了shouldOverrideUrlLoading()方面的問題,但我仍然沒有找到解決方案,看起來像我這樣一個通用的問題,我相信已經解決了。shouldOverrideUrlLoading()沒有從iframe調用外部鏈接
問題:如何在forOverrideUrlLoading()中停止外部鏈接,例如「http://www.example.com」,用於加載webView.loadDataWithBaseURL()的頁面,其中baseUrl是「file:/// ...」?
當外部鏈接被觸摸(點擊)時,我不會調用shouldOverrideUrlLoading()的override方法。 Here它說:「無法用基本URL解析的URL被放置在地板上(你不會爲它們獲得任何回調,也不應該在OverrideUrlLoading和onPageStarted)。」 Android開發人員網站說here「如果您通過調用... loadDataWithBaseURL()加載頁面,則將在頁面上收到此類型鏈接的shouldOverrideUrlLoading()回調。」 這是我的代碼:
public void loadEpub(final EpubInfo epubInfo)
{
post(new Runnable()
{
@Override
public void run()
{
epubBaseUrl = "file://" + epubInfo.path;
if (!epubBaseUrl.endsWith("/"))
epubBaseUrl += "/";
String path = epubBaseUrl + epubInfo.baseUrl;
String page = generatePage(epubInfo);
EpubWebView.super.loadDataWithBaseURL(path, page, "text/html", "UTF-8", null);
}
});
}
哪裏我的baseUrl(路徑) 「文件:///存儲/ sdcard0 /安卓/數據/ ...」。
非常感謝提前。