2

我对 Cocoa 中的 WebView 有一个大问题。我的 WebView 加载了一个 javascript,它将在这个 WebView 中打开一个新窗口(不在浏览器中打开)。

我打电话

[myWebView setUIDelegate: self]

调用 createWebViewWithRequest:withRequest:

在 createWebViewWithRequest 中,我加载了请求,但请求为零。我不知道为什么,被困在这里。

- (WebView*)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request
{
    [[sender mainFrame]loadRequest:request];
    return sender;
}

你有什么想法?

4

2 回答 2

5

在这里传递一个 nil 请求是对WebKit 的有意更改

也许您可以更改您的 JavaScript 以使用...

<a target=_blank href="http://www.example.com/">

...而不是window.open()

如果你这样做,你可以使用

-webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:

WebPolicyDelegate获取请求的方法。

于 2012-11-27T21:32:50.157 回答
0

只需删除该行

[[sender mainFrame]loadRequest:request];
于 2015-02-13T17:27:01.953 回答