2

わかりました、私は iOS プログラミングが初めてです。

外部 URL とそれに関連付けられているすべての Javascript (@external サーバーも) をロードする非常に単純な WebView iOS アプリを構築しようとしています。

次のコードはページを完全にロードしますが、[ログイン] ボタンをクリックすると、呼び出す Javascript が何もしないようです。

- (void)loadView
{
    self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    UIWebView *webView =[[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
    webView.scalesPageToFit = YES;
    [[self view] addSubview:webView];
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://mywebsitehere.com/mob/"
                                                       ]]];
}

これは、外部 HTML ファイルのログイン ボタンのコードです。

<a id="btnLogin" data-role="button" data-icon="star" href="javascript:__doPostBack(&#39;btnLogin&#39;,&#39;&#39;)"><span>Login</span></a>

また、さまざまな PhoneGap/Cordova/ChildBrowser チュートリアルを使用してみましたが、すべてが非常に古い/機能していないようです。

可能であれば、GeoLocation (特定の機能の現在位置を要求する Web ページ) も必要です。基本的には、Safari とまったく同じように動作する必要があります。

助けてください!

4

2 に答える 2

0

徹底的な調査を行った結果、UIWebViewのUser-AgentがASP.NETによって正しく認識されていないことがわかりました。これにより、ASP.NETアプリケーションで認証の問題が発生します。

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"User Agent Here", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];  

ユーザーエージェントを変更した後、認証プロセスは正常に機能しました。

于 2013-02-01T03:03:02.640 に答える
0

Xcode は、デフォルトでプロジェクトのコンパイル ソースにすべての JavaScript リソース ファイルを追加します。それらはこれから削除し、代わりにプロジェクトのコピー バンドル リソースに配置する必要があります。これらは、プロジェクトを選択すると、ターゲットの [ビルド フェーズ] タブで見つけることができます。JS が応答しないたびに、これが原因でした。

于 2012-11-15T11:06:06.033 に答える