所以,我一直在查看文档和谷歌搜索,但我无法弄清楚当我的 WebView(OSX,不是 iOS)发生变化时如何调用方法......所有示例似乎都是针对 iOS 的。我的代码如下所示:
SNAFAppDelegate.h
#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
@interface SNAFAppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet WebView *browser;
- (IBAction)forwards:(id)sender;
@end
SNAFAppDelegate.m
#import "SNAFAppDelegate.h"
@implementation SNAFAppDelegate
@synthesize window = _window;
@synthesize browser = _b;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[[_b mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://google.com"]]];
}
@end
SNAFBrowser.h
#import <Cocoa/Cocoa.h>
#import <WebKit/WebView.h>
#import <WebKit/WebFrame.h>
#import <WebKit/WebEditingDelegate.h>
#import <WebKit/WebKit.h>
@interface SNAFBrowser : WebView
@property (assign) IBOutlet WebView *browser;
@end
SNAFBrowser.m
#import "SNAFBrowser.h"
@implementation SNAFBrowser
@synthesize browser = _b;
- (void)webViewDidChange:(NSNotification *)notification
{
NSLog(@"Hello World");
}
@end
然后,在我的 MainMenu.xib 文件中,我将 AppDelegate 中的 Outlet“浏览器”链接到 WebView,并将 WebView 的自定义类设置为 SNAFBrowser。
本质上,我只想知道 webview 何时加载另一个页面。
我可能正在做一些可笑的愚蠢的事情,所以任何帮助表示赞赏。