如何在我的 UIWebview 中注入 javascript

Posted

技术标签:

【中文标题】如何在我的 UIWebview 中注入 javascript【英文标题】:How to inject javascript in my UIWebview 【发布时间】:2012-01-13 09:24:36 【问题描述】:

我有一个网页视图,我想在我的网页视图中注入以下 javascript 代码。请帮助我,谢谢..

【问题讨论】:

我怎么能做到这一点我不知道任何关于javascript的事情 JavaScript 的唯一部分是<script type="text/javascript">skyscanner... ...Callback(main);</script> 之间的代码。使用stringByEvaluatingJavaScript 将不会处理您提供的图像中的 html @ThomasNadin 那怎么办?我需要做什么? 我认为您可能需要更好地了解 JavaScript 和 HTML,然后重新评估您的问题。老实说,我不知道如何将您提供的 HTML 块输入到 DOM 中。 【参考方案1】:
[webView stringByEvaluatingJavaScriptFromString:@"your script"];

stringByEvaluatingJavaScriptFromString:

返回运行脚本的结果。 - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)脚本参数

脚本

The script to run.

返回值

运行脚本的结果,如果失败则返回 nil。

讨论

每个顶层的 JavaScript 执行时间限制为 10 秒 入口点。如果您的脚本执行时间超过 10 秒,则 Web view 停止执行脚本。这很可能是随机发生的 放置在您的代码中,因此可能会导致意想不到的后果。这个限制 强加是因为 JavaScript 执行可能会导致主线程 块,因此当脚本运行时,用户无法交互 与网页。

JavaScript 分配也限制为 10 MB。网络视图引发 如果您超过总内存分配的此限制,则会出现异常 用于 JavaScript。可用性

Available in ios 2.0 and later.

【讨论】:

只需将上述脚本替换为 [webView stringByEvaluatingJavaScriptFromString:@"your script"] 中的“your script”;会工作吗?? 我不相信,看看我对你问题的评论。 我是否需要将我的脚本放入方法中 - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script 那么我需要在方法中放入什么 [webView stringByEvaluatingJavaScriptFromString:@"your script" ];在 ypur 脚本部分。请帮忙放一些东西

以上是关于如何在我的 UIWebview 中注入 javascript的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 8 的 iOS App 中的 UIWebview 中执行 java 脚本?

如何避免在我的 UIWebView 中询问 facebook 的用户名和密码?

如何在 UIWebView 加载的 iframe 中注入 javascript - iOS

UIWebView 在我的 UITableViewCell 子类中覆盖触摸事件

使用 JavaScript 将 CSS 注入 UIWebView

注入的 Javascript 不会覆盖 UiWebView 中的 URL