2012-11-15 24 views
2

好吧,所以我是iOS编程的新手。在iOS中使用Javascript构建一个简单的WebView APP

我试着去建立一个非常简单的WebView iOS应用程序加载外部URL以及与之相关联的所有JavaScript(@external服务器也是如此)。

下面的代码完全加载网页,但是当我点击“登录”按钮后,这个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 /科尔多瓦/ ChildBrowser教程也试过,一切似乎非常过时/不工作。

如果可能的话,我还需要GeoLocation中(网页请求某些功能当前位置)。 我基本上只需要它就像在Safari中一样工作。

请帮忙!

回答

0

做了广泛的研究之后,我发现了一个UIWebView的用户代理不正确的ASP.NET的认可。这导致ASP.NET应用程序的身份验证问题。

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

更改用户代理后,认证过程成功完成。

0

的Xcode会默认添加任何JavaScript资源文件到您的项目的编译源代码。应将其从中删除,而不是放在项目的复制包资源中。当您选择项目时,您可以在目标的构建阶段选项卡中找到这些项目。每次我有我的JS没有回应,这是原因。

相关问题