UIWebView 与 WebView Javascript 注入
Posted
技术标签:
【中文标题】UIWebView 与 WebView Javascript 注入【英文标题】:UIWebView vs WebView Javascript Injection 【发布时间】:2014-10-16 19:11:41 【问题描述】:我试图通过 stringByEvaluatingjavascriptFromString 在 iPhone 上执行 javascript, 我做了脚本
function execute()
//dosent matter
alert('works');
execute();
此脚本在 safari 的开发者控制台中使用时运行良好。
但是这样:
[self.webView1 stringByEvaluatingJavaScriptFromString:@"javascript: function execute() alert('works');execute();"];
剂量工作,我没有看到警报,我也试过没有“javascript:”
这很令人困惑,因为我使用 stringByEvaluatingJavaScriptFromString 成功但没有使用函数声明。
[self.webView1 stringByEvaluatingJavaScriptFromString:@"alert('check');"];
工作正常
【问题讨论】:
是的,你应该把你的JS代码写成html文件。 【参考方案1】:如果有人在寻找答案,我注意到如果不将它们放在 file.js 中,然后使用以下命令执行,某些功能将无法正常工作:
- (void)injectJavascript:(NSString *)resource
NSString *jsPath = [[NSBundle mainBundle] pathForResource:resource ofType:@"js"];
NSString *js = [NSString stringWithContentsOfFile:jsPath encoding:NSUTF8StringEncoding error:NULL];
[self.webView1 stringByEvaluatingJavaScriptFromString:js];
【讨论】:
以上是关于UIWebView 与 WebView Javascript 注入的主要内容,如果未能解决你的问题,请参考以下文章
iphone - 点击 WebView 上的手势与点击的链接冲突
UIWebView(已弃用)与swift中的webkit View之间的区别
UIWebView 在 webview 完成加载时高度不正确