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加载页面

UIWebView 在 webview 完成加载时高度不正确

UITableViewCell嵌套UIWebView并且cell根据webView的内容自适应

UIWebView 缩放问题