0

iOS開発にかなり新しい(それは非常に新しいだろう)ことを許してください。

Facebookのネイティブ認証を実装したばかりですが、access_tokenをUIWebViewのローカルhtmlファイルに渡したいと思います。そのために、access_tokenをパラメーターとして受け取るinit関数を使用して、htmlファイルにJavascriptオブジェクトを作成しました。次に、その関数を外部から呼び出す必要があります。いくつかの調査で私は気づきました[UIWebView stringByEvaluatingJavaScriptFromString:(NSString *)]が、ページが読み込まれるまでこれを呼び出さないでください。

私の中で、私はリクエストを行うをViewController.m定義しました。この特定のリクエストが完了したらすぐにJavaScript文字列を実行したいと思います。それ、どうやったら出来るの?- (void)updateViewwebViewUIWebView

- (void)updateView {
    AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
    if (appDelegate.session.isOpen) {
        NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://mydomainwuhuu/mobile?o=Auth&accessToken=%@", appDelegate.session.accessToken]];
        NSURLRequest *request = [NSURLRequest requestWithURL:url];
        [webView loadRequest:request];
        [webView stringByEvaluatingJavaScriptFromString:@"window.alert('test')"];
    }
}

このコードはそれを行いません、そしてそれは私がページのロードが完了する前にJavaScriptを呼び出すためだと思いますか?どうすれば修正できますか?

4

2 に答える 2

1

UIWebViewにはデリゲートメソッドがあります。これを参照してください。状況に応じて、を使用してください– webViewDidFinishLoad:

于 2013-02-19T19:14:05.237 に答える
0

私は以前に同じ問題を抱えていました。結局、「完了」ボタンを含め、IBActionボタン呼び出し内にstringbyevaluatingjavascript関数を含めることになりました。

それはその時働いた。

于 2013-02-19T19:37:10.343 に答える