如何从javascript web视图调用swift函数
我正在从我的swift应用程序启动web视图。在web视图中,我想通过单击按钮调用swift函数。我找到了代码示例 当我按下按钮时,什么也没发生。我在web视图中加载的URL是 代码如下:如何从javascript web视图调用swift函数,javascript,swift,macos,webview,Javascript,Swift,Macos,Webview,我正在从我的swift应用程序启动web视图。在web视图中,我想通过单击按钮调用swift函数。我找到了代码示例 当我按下按钮时,什么也没发生。我在web视图中加载的URL是 代码如下: import Cocoa import WebKit class ViewController : NSViewController { override func viewDidLoad() { super.viewDidLoad() // Do any add
import Cocoa
import WebKit
class ViewController : NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
var webView:WebView!
@IBAction func mybutton(_ sender: Any) {
let url = URL(string: "https://test-swift-js.github.io")
let request = URLRequest(url: url!)
webView = WebView(frame: NSRect(x: 0, y: 0, width: 1000, height: 1000))
webView.mainFrame.load(request)
self.view.addSubview(webView)
}
func webView(webView: WebView!, didClearWindowObject windowObject: WebScriptObject!, forFrame frame: WebFrame!) {
windowObject.setValue(self, forKey: "interOp")
}
//The name used to represent the Swift function name in Javascript.
class func webScriptNameForSelector(aSelector: Selector) -> String!
{
if aSelector == "callSwift:"
{
return "callSwift"
}
else
{
return nil
}
}
class func isSelectorExcludedFromWebScript(aSelector: Selector) -> Bool
{
return false
}
func callSwift(message:String)
{
var alert = NSAlert()
alert.messageText = message
alert.alertStyle = NSAlertStyle.informational
alert.beginSheetModal(for: self.view.window!, completionHandler: nil)
}
}
也许你忘了设置代理。
可能重复编号。您提供的链接是针对iOS的。我想要Mac OS X的代码。