Jas*_*ien 7 iphone objective-c popup uiwebview uikit
我有一个UIWebView,我在我的应用程序中使用它作为嵌入式浏览器.
我注意到,打开新窗口的网页中的链接会被忽略而不会调用我的代码.
我试过破坏点
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
Run Code Online (Sandbox Code Playgroud)
然后选择一个可以打开弹出窗口的链接,并且永远不会遇到断点.我有什么办法可以拦截弹出链接的选择并获取URL并正常加载它吗?
我对在应用程序本身中显示一个弹出窗口不感兴趣,我只想在弹出窗口中加载的任何内容的URL加载到主webview本身.
这可能吗?
谢谢!
我也遇到了这个问题,HTML重写是我能想到的最好的解决方案.我遇到的最大问题是,在调用webViewDidFinishLoad:方法之前,Web浏览器是交互式的,最长可达几秒钟,因此链接似乎会被破坏几秒钟,直到它们被重写为止.
我重写了三个方面:链接,表单帖子和对window.open()的调用.
我在Jasarian的回答中使用了类似的方法,通过迭代标签和表单来覆盖链接和表单的目标.要覆盖window.open,我使用了类似于以下内容的代码:
var oldWindowOpen = window.open;
window.open = function(url, sName, sFeatures, bReplace) {
oldWindowOpen(url, '_self');
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27798 次 |
| 最近记录: |