iphone - 在 UIWebView 中打开弹出链接,可能吗?

标签 iphone objective-c uikit uiwebview popup

我有一个 UIWebView,我在我的应用程序中将其用作嵌入式浏览器。

我注意到网页中打开新窗口的链接在没有调用我的代码的情况下被忽略。

我试过断点

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

然后选择一个会打开弹出窗口的链接,断点永远不会命中。 我能做些什么来拦截弹出链接的选择并获取 URL 并正常加载它吗?

我对在应用程序本身中显示弹出窗口不感兴趣,我只想将要加载到弹出窗口中的任何内容的 URL 加载到主 Web View 本身。

这可能吗?

谢谢!

最佳答案

我也遇到过这个问题,重写 HTML 是我能想到的最佳解决方案。我用这种方法遇到的最大问题是,在调用 webViewDidFinishLoad: 方法之前,Web 浏览器最多只能交互几秒钟,因此链接似乎会中断几秒钟,直到它们被重写。

我重写了三个区域:链接、表单帖子和对 window.open() 的调用。

我对 Jasarian's 中截取的第一个代码使用了类似的方法回答通过遍历标签和表单来覆盖链接和表单的目标。为了覆盖 window.open,我使用了类似于以下的代码:

var oldWindowOpen = window.open;
window.open = function(url, sName, sFeatures, bReplace) {
  oldWindowOpen(url, '_self');
};

关于iphone - 在 UIWebView 中打开弹出链接,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11239638/

相关文章:

javascript - 如何同步多个 UIKit Accordion

iphone - 有没有办法通过 "ping"iPhone 来查看它是否已打开?

iphone - 如何估算处理时间?

iphone - ld : 871 duplicate symbols for architecture armv7, clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

objective-c - 使用 .zip 扩展名在 Mobile Safari 中从 url 打开应用程序失败

ios - '无法在 descriptionForLayoutAttribute_layoutItem_coefficient 中创建描述。有些东西是零

iphone - 如何实现自定义控制的目标 Action 机制?

iphone - 如何使用 NSDateFormatter 处理不同的日期时间格式

objective-c - 如何在网站上播放.ima4音频文件

swift - 在扩展名中打印文件名