2016-09-19 1 views
2

私はこの機能がヒットしていることをかなり確信している...window.openが呼び出されたときにcreateWebviewWithConfigurationが表示されたビューを変更しないのはなぜですか?

function logo_click() { 
    window.open(some_valid_url);//url is valid www.google.com for example 
} 

WKWebViewに非常に新たなんだとJavaScriptからwindows.open呼び出すときには、以下を参照してください私の現在のビューdoesntの変更、この問題に苦しんでいます私がSafari Tech Previewを使ってそれを踏んだからです。 logo_clickが呼び出されたとき、そして私も

-(WKWebView*)webView:(WKWebView)webView createWebViewWithConfiguration:(nonnull WKWebViewConfiguration)inConfig forNavigationAction:(nonnull WKNavigationAction)navigationAction windowFeatures:(nonnull WKWindowFeatures)windowFeatures 
{ 
_webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:inConfig]; 

if (!navigationAction.targetFrame.isMainFrame) { 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 
    [self.webView loadRequest:navigationAction.request]; 
    //[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com"]]]; 
} 

return _webView; 
} 

は、私もそれがそこから移動することができるかどうかを確認するためにハードコードgoogle.comを試みたが、私の表示ビュー、XcodeのOBJ-Cに私のcreateWebviewWithConfiguration()関数にブレークポイントを

取得していますまだ前のものです。私はすでに

iphonedevsdk.com/forum/iphone-sdk-development/122635-wkwebview-wont-open-external-links.html

上のチュートリアルをチェックするが、私の見解ではまだ変更されません。私は何が欠けていますか?

答えて

0

私は次のコードを使用して、それを解決し...

-(WKWebView*)webView:(WKWebView *)webView createWebViewWithConfiguration:(nonnull WKWebViewConfiguration *)inConfig forNavigationAction:(nonnull WKNavigationAction *)navigationAction windowFeatures:(nonnull WKWindowFeatures *)windowFeatures 
{ 
    [_webView removeFromSuperview]; 

    _webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:inConfig]; 

    if (!navigationAction.targetFrame.isMainFrame) { 
     //[UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 
     NSURLRequest* req = navigationAction.request; 
     [self.webView loadRequest:req]; 
    } 

    _webView.navigationDelegate = self; 
    _webView.UIDelegate = self; 

    _webView.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height); 
    [self.view addSubview:_webView]; 

    return _webView; 
} 
関連する問題