如何使用 HTML url 加载新的 Window?在 Android
How to load a new Window using HTML url? in Android
我有一个HTML属性要加载
<a href="https://www.w3schools.com" target="_blank" rel="noopener noreferrer">Visit W3Schools.com!</a>
我使用
将其加载到我的 Android 屏幕
webView.loadDataWithBaseURL(null, my_url, "text/html; charset=utf-8", "UTF-8", null);
但是,当我尝试点击它时,link 不会将我带到新的 window,而是在当前的 window 中打开,即使我指定了 target="_blank"
] 在我的 HTML 中。
如何让它在 Android 中的新 window 中加载 link?
在这个linkAndroid - Open target _blank links in WebView with external browser
中找到了答案
总结:
wv.getSettings().setSupportMultipleWindows(true);
wv.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, android.os.Message resultMsg)
{
WebView.HitTestResult result = view.getHitTestResult();
String data = result.getExtra();
Context context = view.getContext();
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(data));
context.startActivity(browserIntent);
return false;
}
});
我有一个HTML属性要加载
<a href="https://www.w3schools.com" target="_blank" rel="noopener noreferrer">Visit W3Schools.com!</a>
我使用
将其加载到我的 Android 屏幕webView.loadDataWithBaseURL(null, my_url, "text/html; charset=utf-8", "UTF-8", null);
但是,当我尝试点击它时,link 不会将我带到新的 window,而是在当前的 window 中打开,即使我指定了 target="_blank"
] 在我的 HTML 中。
如何让它在 Android 中的新 window 中加载 link?
在这个linkAndroid - Open target _blank links in WebView with external browser
中找到了答案总结:
wv.getSettings().setSupportMultipleWindows(true);
wv.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, android.os.Message resultMsg)
{
WebView.HitTestResult result = view.getHitTestResult();
String data = result.getExtra();
Context context = view.getContext();
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(data));
context.startActivity(browserIntent);
return false;
}
});