当 clink 在 Smart App Banner 上时,如何加载我正在我的 webView 中导航的 link?
How to load the link i’m navigating in my webView when clinking on the Smart App Banner?
我正在使用 Smart App Banner 来推广应用程序,效果很好!但是,我想加载 link 我在我的 webView 中导航(我使用的是 WKWebView),当 clinking 在 Smart App Banner 上时。
这是我在 AppDelegate.swift 文件中使用的以下代码:
var vc = ViewController()
func application(application: UIApplication, openURL url: NSURL,sourceApplication: String?, annotation: AnyObject) -> Bool {
let url1 = NSURL(string:"\(url)")!
self.vc.webView!.loadRequest(NSURLRequest(URL: url1!))
return true
}
它不起作用!
你可以试试这个:
在应用委托中:
func application(application: UIApplication, openURL url: NSURL,sourceApplication: String?, annotation: AnyObject) -> Bool {
let url1 = NSURL(string:"\(url)")!
NSNotificationCenter.defaultCenter().postNotificationName("OpenLinkNotification", object: url1)
return true
}
在视图控制器中:
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "methodOfReceivedNotification:", name:"OpenLinkNotification", object: nil)
...
}
...
func methodOfReceivedNotification(notification: NSNotification){
let url = notification.object as NSURL
self.vc.webView!.loadRequest(NSURLRequest(URL: url!))
}
override func viewDidDisappear(animated: Bool) {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
我正在使用 Smart App Banner 来推广应用程序,效果很好!但是,我想加载 link 我在我的 webView 中导航(我使用的是 WKWebView),当 clinking 在 Smart App Banner 上时。
这是我在 AppDelegate.swift 文件中使用的以下代码:
var vc = ViewController()
func application(application: UIApplication, openURL url: NSURL,sourceApplication: String?, annotation: AnyObject) -> Bool {
let url1 = NSURL(string:"\(url)")!
self.vc.webView!.loadRequest(NSURLRequest(URL: url1!))
return true
}
它不起作用!
你可以试试这个:
在应用委托中:
func application(application: UIApplication, openURL url: NSURL,sourceApplication: String?, annotation: AnyObject) -> Bool {
let url1 = NSURL(string:"\(url)")!
NSNotificationCenter.defaultCenter().postNotificationName("OpenLinkNotification", object: url1)
return true
}
在视图控制器中:
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "methodOfReceivedNotification:", name:"OpenLinkNotification", object: nil)
...
}
...
func methodOfReceivedNotification(notification: NSNotification){
let url = notification.object as NSURL
self.vc.webView!.loadRequest(NSURLRequest(URL: url!))
}
override func viewDidDisappear(animated: Bool) {
NSNotificationCenter.defaultCenter().removeObserver(self)
}