【问题标题】:Webkit WebView not workingWebkit WebView 不工作
【发布时间】:2013-03-23 15:51:03
【问题描述】:

我在我的应用程序中使用了 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];
}

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

【问题讨论】:

标签: objective-c macos cocoa webview


【解决方案1】:

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

【讨论】:

  • 非常感谢!我会试着让你知道,反正这很奇怪你知道吗?我在 iOs 编程中使用 UIWebView 做同样的事情,一切正常。
  • UIWebView 和 WebView 不是一回事。除了通用渲染引擎和基本 API 方法之外,您只需在给定平台上深入研究并阅读给定任务的文档。
  • 好吧,我尝试按照您给我的链接中所述进行操作,但实际上仍然没有任何反应。可能我做错了什么,这些是我遵循的步骤,你能告诉我这些是否正确吗? 1. 我添加了一个名为myWebView 的新WebView 类。 2.我将它设置为我的WebView的UIDelegate。 3.在我的新类myWebView的实现中,我在你的链接的第3步和第4步中添加了代码。
  • 您确定充当代理的 Web 视图是您控制的 Web 视图吗?信息太少,无法说明发生了什么。
  • 您能创建一个项目并按照您的链接所说的做吗?我认为实际上不会超过 10 分钟。谢谢。
【解决方案2】:

最后我使用以下代码在 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];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-27
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 2013-08-10
    • 1970-01-01
    相关资源
    最近更新 更多