1

我在我的应用程序中使用了 Webkit WebView,但它实际上不起作用。我的意思是页面加载但是当我点击页面上的链接时没有任何反应。

这是我的网页:http ://www.beginninghtml.altervista.org

这是我的代码:

在我的AppDelegate.h

@property (assign) IBOutlet WebView *webView;

在我的AppDelegate.m

-(void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
     NSURL *url = [[NSURL alloc] initWithString:@"http://www.beginninghtml.altervista.org"];
     NSURLRequest *req = [[NSURLRequest alloc] initWithURL:url];
    [[_webView mainFrame] loadRequest:req];
}

它正确加载了页面,但是当我单击页面上的链接时,什么也没有发生。谁能帮助我?

4

2 回答 2

2

我注意到您的一些链接请求打开新窗口,而不是像往常一样在当前窗口中打开页面。处理新窗口请求由您决定。我链接到的部分特别提到如果单击此类链接而不将请求作为 Web 视图的 UI 委托处理,则“什么都不会发生”。

于 2013-03-23T17:24:05.107 回答
1

最后,我使用以下代码在 Cocoa Webview 中打开了一个需要打开新窗口的链接:

为您的 WebView 设置 policyDelegate,然后在其中实现此代码:

-(void)webView:(WebView *)webView decidePolicyForNewWindowAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request newFrameName:(NSString *)frameName decisionListener:(id<WebPolicyDecisionListener>)listener
{
    [listener ignore];
    NSURLRequest *req = [[NSURLRequest alloc] initWithURL:[request URL]];
    [[_webView mainFrame] loadRequest:req];
}
于 2013-03-25T13:35:05.173 回答