我目前正在寻找一种方法来禁用我的 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\";")
最佳答案
使用 UIWebViewDelegate 方法并将其设置为始终返回 NO。这样它就永远不会加载任何其他 url。这是您需要将其更改为 swift 的 objective-c 代码。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
return NO;
}
对于 swift read here
swift :
func webView(WebViewNews: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool {
return false;
}
关于javascript - Swift - 在 WebView 中禁用链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26056670/