UIWebView不会导致document.ready触发

时间:2013-03-18 20:10:16

标签: jquery ios objective-c uiwebview

我有一个简单的应用程序,只需在NSURLRequest中加载UIWebView。如果我使用模拟器或设备加载它,jQuery方法$(document).ready不会触发。我已经创建了一个测试页来验证这一点:

https://dl.dropbox.com/u/3660978/webviewtest.html

以下是加载WebView的代码:

-(void)loadWebView {
    NSURL *url = [NSURL URLWithString:@"https://dl.dropbox.com/u/3660978/webviewtest.html"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:request];
}

#pragma mark - WebView Delegate Method
-(void)webViewDidFinishLoad:(UIWebView *)webView {
    NSLog(@"WebView is done loading");
}

- (void)viewDidLoad {
    [super viewDidLoad];
    [self loadWebView];
}

如果我在我的iPad上使用Safari应用程序加载它,它工作正常(我得到两个警报),每当我使用模拟器或同一个iPad运行应用程序时它无法调用$(document).ready(我只获得第一个警报。)

我尝试过使用iOS 5和iOS 6.1模拟器。是什么给了什么?

1 个答案:

答案 0 :(得分:1)

jQuery的路径还没有完成。在你的Dropbox中它开始://而不是http://,因此jQuery不会加载,因此对document.ready(在jQuery中)的调用不会运行。

另一种方法是将jQuery库嵌入到bundle中并在本地引用它。