小弟调*_*弟调调 2 macos xcode cocoa objective-c
webView中有添加的超链接target = " _blank "无法打开.
我开发类似webview的应用程序,但我有一个问题.如何在当前应用程序中打开新窗口中的链接 - 而不是在safari中?
感谢帮助.

@Rob Keniger代码没有运行.为什么?
您需要将对象设置UIDelegate为您的对象WebView并在该对象中实现该webView:createWebViewWithRequest:方法.
在您的方法实现中,您需要打开一个包含单独的新窗口WebView,然后告诉它将传递的参数作为参数mainFrame加载URLRequest到方法中.
更新:
我看了你的代码.您需要将对象指定为Web视图UIDelegate,因此请添加[webView setUIDelegate:self]一行applicationDidFinishLaunching:.
如何实现委托的一个非常简单的示例是:
- (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request
{
NSUInteger windowStyleMask = NSClosableWindowMask |
NSMiniaturizableWindowMask |
NSResizableWindowMask |
NSTitledWindowMask;
NSWindow* webWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 800, 600) styleMask:windowStyleMask backing:NSBackingStoreBuffered defer:NO];
WebView* newWebView = [[WebView alloc] initWithFrame:[webWindow contentRectForFrameRect:webWindow.frame]];
[newWebView setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
[webWindow setContentView:newWebView];
[webWindow center];
[webWindow makeKeyAndOrderFront:self];
[[newWebView mainFrame] loadRequest:request];
return newWebView;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1766 次 |
| 最近记录: |