WebView
のUIDelegate
としてオブジェクトを設定し、そのオブジェクトに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;
}
あなたは私のサンプルを与えますか? –
あなたは私にサンプルをくれますか?私は試しました、効果はありません。 –
'[self stringByEvaluatingJavaScriptFromString:js];'ページでjavascriptを使用し、 '' _blank "'を削除します。このメソッドはうまくいかないです。 –