我正在构建一个 ePub 阅读器,并且正在加载 UIWebView 上每一章的 html 文件。当用户到达一章的末尾时,我会在下一章的同一个 webView 上加载。因为我需要执行一些 jQuery 函数来创建高亮、注释和许多额外的内容,所以我还将 jQuery 库注入查看器。这是我正在使用的代码:
- (void)loadBook{
...
[self.bookWebView loadRequest:[NSURLRequest requestWithURL:chapterURL]];
NSString *jQuery = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"jquery" ofType:@"js"] encoding:NSUTF8StringEncoding error:nil];
[self.bookWebView stringByEvaluatingJavaScriptFromString:jQuery];
}
当它加载第一章时,当webViewDidFinishLoad:
被调用时,$(document).ready
函数被调用并且我所有的 jQuery 代码都能完美运行。当我切换到下一章时,loadBook
使用新 URL 再次调用该函数,但这次$(document).ready
没有调用,所以当我尝试调用我的任何函数时,我收到以下错误:ReferenceError: Can't find variable: $
为什么在我第一次调用后它没有加载 jQuery 库?