Cordova InAppBrowser页面加载后无法跳转链接问题求助
问题分析与解决方案
原因
你设置了beforeload=yes选项,这个配置会让InAppBrowser拦截所有页面加载请求(包括页面内的内部链接),但你没有监听beforeload事件来处理这些拦截的请求,导致点击内部链接后没有任何跳转动作。这是插件的设计行为,并非故障或配置遗漏。
解决方法
方法一:保留beforeload并处理导航请求
添加beforeload事件监听,在回调中手动加载目标URL:
var url = 'https://cordova.apache.org/'; var target = "_blank"; var options = "location=yes,hidden=yes,beforeload=yes"; browser = cordova.InAppBrowser.open(url, target, options); // 监听beforeload事件,处理内部链接跳转 browser.addEventListener('beforeload', function(event) { browser.loadUrl(event.url); }); browser.show();
方法二:移除beforeload选项
如果不需要拦截页面加载的功能,直接删除beforeload=yes配置:
var url = 'https://cordova.apache.org/'; var target = "_blank"; // 移除beforeload=yes选项 var options = "location=yes,hidden=yes"; browser = cordova.InAppBrowser.open(url, target, options); browser.show();
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

