在 UIWebview 的 didStartLoad 方法中注入 JS
Posted
技术标签:
【中文标题】在 UIWebview 的 didStartLoad 方法中注入 JS【英文标题】:Injecting JS in UIWebview's didStartLoad methoad 【发布时间】:2015-01-08 10:29:06 【问题描述】:在我的 UIWebView 中注入 javascript 时遇到一个奇怪的问题。我能够将JS字符串注入 UIWebView webViewDidStartLoad 方法第一次。当 location.reload() 从 html 页面再次触发时,JS 不再从 UIWebView webViewDidStartLoad 方法。
加载 UIWebView 后,我可以从 webViewDidFinishLoad 注入它,但我担心它为什么第一次工作而不是在下次重新加载时工作。
- (void)webViewDidStartLoad:(UIWebView *)webView
NSString *cordovaScript = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"cordova" ofType:@"js"] encoding:NSUTF8StringEncoding error:nil];
[webView stringByEvaluatingJavaScriptFromString:cordovaScript];
// Loading Plugin.js file
NSString *childWindowScript = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Plugin" ofType:@"js"] encoding:NSUTF8StringEncoding error:nil];
[webView stringByEvaluatingJavaScriptFromString:childWindowScript];
【问题讨论】:
【参考方案1】:我在加载JS时做了一点延迟,如果第二次调用webViewDidStartLoad。
【讨论】:
以上是关于在 UIWebview 的 didStartLoad 方法中注入 JS的主要内容,如果未能解决你的问题,请参考以下文章
在 UITableViewCell 中加载 UIWebView 并根据 UIWebview 的内容制作 UITabViewCell 的高度
在(BOOL)webView 中:如何打开在 UIWebView 中单击的 URL 以打开模态 UIWebView
reCAPTCHA 在 iOS 10 UIWebView 中不起作用