2012-04-24 68 views

回答

5

您需要將對象設置爲WebViewUIDelegate,並在該對象中實施webView:createWebViewWithRequest:方法。

在您實現該方法時,需要打開一個包含單獨的WebView的新窗口,然後告知其mainFrame加載URLRequest作爲參數傳遞給該方法。

更新:

我看過你的代碼。您需要將對象指定爲網絡視圖的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; 
} 
+0

你給我一個樣品? – 2012-04-25 15:08:22

+0

你給我一個樣本?我試過了,沒有效果。 – 2012-04-25 15:21:45

+0

'[self stringByEvaluatingJavaScriptFromString:js];'在頁面上使用javascript,刪除''_blank'''。這種方法不好。 – 2012-04-25 15:26:58

相關問題