我有一个 UIWebView,我将其用作应用程序中的嵌入式浏览器。
我注意到打开新窗口的网页中的链接将被忽略,而不会调用我的代码。
我尝试过断点
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
然后选择一个将打开弹出窗口的链接,并且永远不会命中断点。
我可以做些什么来拦截弹出链接的选择并获取 URL 并正常加载它吗?
我对在应用程序本身中显示弹出窗口不感兴趣,我只想将要在弹出窗口中加载的任何内容的 URL 加载到主 Web 视图本身中。
这可能吗?
Thanks!
我也遇到了这个问题,HTML 重写是我能想到的最好的解决方案。我使用这种方法遇到的最大问题是,Web 浏览器的交互时间长达几秒钟,直到调用 webViewDidFinishLoad: 方法,因此链接似乎会中断几秒钟,直到它们被重写。
我重写了三个区域:链接、表单帖子和对 window.open() 的调用。
我对第一个代码片段使用了类似的方法贾萨里安的 https://stackoverflow.com/users/76559/jasarien答案是通过迭代标签和表单来覆盖链接和表单的目标。为了覆盖 window.open,我使用了类似于以下的代码:
var oldWindowOpen = window.open;
window.open = function(url, sName, sFeatures, bReplace) {
oldWindowOpen(url, '_self');
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)