我正在尝试用 WebView 构建应用程序,并点击/点击WebView内部的URL-s事件。下面的解决方案打开外部浏览器和URL,但它也在webview中加载相同的url内容。是否有办法防止在webview中加载新的url?
这是我的代码示例。
function onWebViewLoaded(webargs) {
const page = webargs.object.page;
const vm = page.bindingContext;
const webview = webargs.object;
webview.on(webViewModule.WebView.loadFinishedEvent, (args) => {
let message = "Loading in progress....";
if (!args.error) {
message = `WebView loading finished with url: ${args.url}`;
} else {
message = `Error received ${args.url} : ${args.error}`;
}
if (args.url.indexOf('http://') === 0) {
// Stop the loading url first... but how..
// Open URL in external default browser
utilityModule.openUrl(args.url);
}
});
}我尝试设置一个标记isUserInteractionEnabled="false“,添加到我的xml视图中,但是所有的交互都被禁用。有人知道怎么做吗?
发布于 2018-09-22 02:14:36
尝试使用loadStartedEvent
webview.on(webViewModule.WebView.loadStartedEvent, (args) => {
if(!args.url.includes("whatever.net")){
webview.stopLoading();
utilsModule.openUrl(args.url);
}
});这样我们就可以捕获loadStartedEvent而不是loadFinishedEvent (在这里,url已经加载),如果我们想要根据它进行筛选,我们会检查url,在这里我们可以通过webview.stopLoading()来停止页面加载。
https://stackoverflow.com/questions/51355666
复制相似问题