有超链接添加的 webViewtarget = " _blank "
无法打开。
我开发了一个类似 webview 的应用程序,但我有一个问题。如何在当前应用程序的新窗口中打开链接 - 而不是在 Safari 中?
感谢帮助。
@Rob Keniger 代码没有运行。为什么?
有超链接添加的 webViewtarget = " _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;
}