Swift - 在 WebView 中禁用链接
Posted
技术标签:
【中文标题】Swift - 在 WebView 中禁用链接【英文标题】:Swift - Disable Links in WebView 【发布时间】:2014-09-26 09:47:47 【问题描述】:我目前正在寻找一种方法来禁用我的 WebView 中的链接,这是我的 WebView
import UIKit
class ViewController_webView_news: UIViewController
@IBOutlet weak var WebViewNews: UIWebView!
@IBOutlet weak var TBB_news: UITabBarItem!
@IBOutlet weak var activity: UIActivityIndicatorView!
override func viewDidLoad()
super.viewDidLoad()
var TBB_news_img = UIImage(named: "TabbarNews.png") as UIImage
TBB_news.selectedImage = TBB_news_img
var newsurl = "http://google.com"
let newsViewUrl = NSURL(string: newsurl)
let request = NSURLRequest(URL: newsViewUrl)
WebViewNews.loadRequest(request)
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
@IBAction func BThome(sender: AnyObject)
var newsurl = "http://google.com"
let newsViewUrl = NSURL(string: newsurl)
let request = NSURLRequest(URL: newsViewUrl)
WebViewNews.loadRequest(request)
func webViewDidStartLoad(_ : UIWebView)activity.startAnimating()
func webViewDidFinishLoad(_ : UIWebView)activity.stopAnimating()
有没有办法为此使用“UIWebViewNavigationType.LinkClicked”? 目前我正在使用
let result = WebViewNews.stringByEvaluatingjavascriptFromString("window.location.href = \"http://google.de\";")
【问题讨论】:
【参考方案1】:使用 UIWebViewDelegate 方法并将其设置为始终返回 NO。这样它就永远不会加载任何其他网址。这是目标 c 代码,您需要将其更改为 swift。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
return NO;
对于迅捷read here
斯威夫特:
func webView(WebViewNews: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool
return false;
【讨论】:
但这只是Objective C还是我没有在swift中看到这个? 在我的“WebViewNews.loadRequest(request)”之后添加了这个,但它仍然让我点击链接 @F***Boulegue,当您单击任何链接时,是否会调用 shouldStartLoadWithRequest ?如果不是,您可能没有为 UIWebView 设置委托。 你的权利它没有被调用,但我已经设置类 ViewController_webView_news: UIViewController, UIWebViewDelegate 以及 WebView 委托到 MainView 看到这里i.epvpimg.com/Uc5ib.png 看下面它被炸了,但一开始加载所以没有任何吸引力以上是关于Swift - 在 WebView 中禁用链接的主要内容,如果未能解决你的问题,请参考以下文章
如果它进入webview(swift),如何在webview中打开链接
XCODE swift - webview 无法打开 ics 链接 - 在 safari 中有效