在 iOS UIWebView 中如何在完成加载之前获取 html DOM 内容?

In iOS UIWebView how to get html DOM content before it finished loading?

我得到一个 url,我想在我的 UIWebView 中像这样显示它:

request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
[_webView loadRequest:request];

但是由于中国的网络限制,我们无法访问Google服务但是带有这个url的页面正在使用:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

所以我必须等待很长时间才能过期,因为它无法从 ajax.googleapis.com 获取那个 js 文件,我想做的是用本地 js 交换这个脚本源文件以便将来启用 javascript 个调用。

我想如果我能在它完成加载之前得到 DOM,那么我可以像这样将我的脚本源添加到它:

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

但是我该怎么做呢?

我尝试加载本地 html 文件,但参数是服务器端的动态参数。

我尝试在所有 UIWebView 委托方法中调用 [_webView stringByEvaluatingJavaScriptFromString:url] 但没有成功。

我的 solution/workaround 是:

在发送 url 后设置一个计时器,这样计时器会等待尝试检测收到的 DOM 以检查 <head> 是否已被正确接收。

在定时器运行期间,在DOM接收完成加载之前,接收到的DOM内容可能不是完整的。

不过没关系,因为我想做的是将一些 js 代码注入 <head>,这是 DOM 内容的第一部分。

所以在我成功地将 <script src="//code.jquery.com/jquery-1.11.3.min.js"></script> 注入 DOM 中的 <head> 之后,我不会关心整个加载完成的时间,如果我点击任何按钮页面,它将使用我刚刚注入 <head> 的 jquery 代码,而不是默认代码。

谁有更好的主意,请告诉我,谢谢。