2
有超鏈接添加target = " _blank "
的webView無法打開。可可:webView有超鏈接添加`target =「_blank」`無法打開
我開發了一個類似webview的應用程序,但我有一個問題。如何在當前應用程序的新窗口中打開鏈接 - 不在safari中?
感謝您的幫助。
@Rob Keniger代碼不是running.why?
有超鏈接添加target = " _blank "
的webView無法打開。可可:webView有超鏈接添加`target =「_blank」`無法打開
我開發了一個類似webview的應用程序,但我有一個問題。如何在當前應用程序的新窗口中打開鏈接 - 不在safari中?
感謝您的幫助。
@Rob Keniger代碼不是running.why?
您需要將對象設置爲WebView
的UIDelegate
,並在該對象中實施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;
}
你給我一個樣品? – 2012-04-25 15:08:22
你給我一個樣本?我試過了,沒有效果。 – 2012-04-25 15:21:45
'[self stringByEvaluatingJavaScriptFromString:js];'在頁面上使用javascript,刪除''_blank'''。這種方法不好。 – 2012-04-25 15:26:58