2012-03-16 10 views
0

WebベースのチャットクライアントのGUIラッパーに問題があります。基本的に誰かがチャットルームにリンクを投稿したときに、クリックしたときにデフォルトのブラウザで開きたいと思っています。私はウェブキットdecidePolicyForNavigationActionを使用しています。デフォルトブラウザのリンクを開くためのwebView decidePolicyForNavigationAction

- (void)webView:(WebView *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation 
    request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id <WebPolicyDecisionListener>)listener 
{ 
NSString *host = [[request URL] host]; 

    if (![host hasSuffix:@"chatsimply.com"]) 
    { 
     [listener ignore]; 
     NSWorkspace * ws = [NSWorkspace sharedWorkspace]; 
     [ws openURL:request.URL]; 
    } 

     [listener use]; 
} 

これはチャットルームのリンクが表示されていないように見えますが、その理由はわかりません。私はいくつかのフォーラムやAppleのドキュメントを検索していますので、これを処理する方法についてのヘルプやドキュメントがあれば幸いです。

答えて

0

Safariでリンクを開くことを意味する場合は、これが必要です。

[[UIApplication sharedApplication] openURL:request.URL]; 

リンクが強調表示されていない(あるいは何をやろうとしている)場合は、その後、私はそれはあなたがしたいサフィックスを持っている場合は見つけるために、ホスト文字列をNSLogging示唆しています。

+0

私はリンクをうまく開くことができます。主な問題は、チャットルーム(apple.comと言う)に投稿されたリンクをクリックすると、そのデリゲートにリンクが選択されたことを通知していないことです。私がデフォルトのURLを変更すると、chatsimplyからgoogleにロードされ、デフォルトのブラウザで開きます。しかし、私がチャットルームチャットルームにいて、リンクを選択しても、ホストURLをロギングしているときにそのリンクが表示されることはありません。 –

+0

ああ、それはあなたが意味することです。申し訳ありませんが、私はその答えはありません。しかし、幸運。 :) –

+0

@ACMacalisterあなたは動的に追加されたリンクのためにこれを解決しましたか?デリゲートが最初のページを読み込んだ後に追加された動的リンクを呼び出さないという同じ問題が発生しています。 – Luke

関連する問題