我想在每次wkwebview加载URL时注入定义一个变量(此变量由本地代码生成)的javascript代码,该变量每次都更改。网页中的js代码将使用此变量,因此我希望在网页中的js代码运行之前,该变量已准备就绪。
一种可能的方法是每次都注入一个新的用户脚本,但是它需要先删除所有用户脚本,然后再添加回去,然后再次添加新的用户脚本。
另一种可能的解决方案(我不确定,想在这里得到答案)仅注入一次用户脚本,该用户脚本将向wkwebview处理程序发布一条消息,然后该处理程序将评估新的js代码为定义变量。
我想知道这里是否存在竞争条件,该变量在运行网页js之前可能尚未准备好。是真的吗还是可以保证处理程序将首先评估js代码,然后再加载网页?