【问题标题】:UIWebView not causing document.ready to fireUIWebView 不会导致 document.ready 触发
【发布时间】:2013-03-18 20:10:15
【问题描述】:

我有一个简单的应用程序,它只是在UIWebView 中加载NSURLRequest。如果我使用模拟器或在设备上加载它,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 模拟器。什么给了?

【问题讨论】:

    标签: jquery ios objective-c uiwebview


    【解决方案1】:

    您的 jQuery 路径不完整。在您的保管箱中,它开始:// 而不是 http://,因此 jQuery 不会加载,因此对 document.ready(在 jQuery 中)的调用不会运行。

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

    【讨论】:

    • 嗯嗯!奇怪的是它在 Safari 应用程序中工作得很好。但你是对的,修复指向库的指针解决了这个问题。现在看看我的 .NET 应用程序是否存在同样的问题。我发现另一个 SO 帖子表明 .NET 4.0 存在无法正确识别 Web 客户端的问题。
    猜你喜欢
    • 2011-04-10
    • 2014-05-09
    • 2013-04-13
    • 2011-01-15
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多