2014-07-25 61 views
2

我剛開始用xCode進行開發,因爲我需要一個WebView容器用於網站。 它的工作到目前爲止,但我不能在網站上註銷,因爲(在網絡瀏覽器中)有一個彈出窗口詢問我是否肯定要註銷。我想這是用javascript創建的。OS X WebKit WebView不顯示JS Popups

在Web視圖設置中有一個標記爲「允許彈出窗口」的複選框,但在我的應用程序中,點擊後不出現彈出窗口。

我搜索了兩個小時,沒有發現類似的問題。

回答

3

這是javascript的confirm()函數。

我得到它一起工作:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    [webView setUIDelegate:self]; // <------- This is an important part!!! 
    [[webView preferences] setJavaScriptEnabled:YES]; 
    [[webView preferences] setJavaScriptCanOpenWindowsAutomatically:YES]; 
    [[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:homeURLString]]]; 
} 

- (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame { 

    NSInteger result = NSRunInformationalAlertPanel(NSLocalizedString(@"JavaScript", @""), // title 
                message,    // message 
                NSLocalizedString(@"OK", @""),  // default button 
                NSLocalizedString(@"Cancel", @""), // alt button 
                nil); 
    return NSAlertDefaultReturn == result; 
} 

更多信息herehere