Javascript 使用Swift更改webview中的HTML

Javascript 使用Swift更改webview中的HTML,javascript,html,ios,swift,wkwebview,Javascript,Html,Ios,Swift,Wkwebview,我需要在项目中托管的webview中动态更改大约10个HTML字母。这看起来应该很简单。实际上,我只需要更改项目中.html文件中的大约10个字符 让这变得如此困难的是,我需要在页面开始加载到wkwebview之前完成这项工作。有问题的字符位于小部件使用的标记内。显然,小部件不喜欢脚本中的任何字符在开始加载后被更改。这是我在加载wkwebview后尝试使用JavaScript更改字符后得出的结论 如何在webview开始加载之前更改10个字符 我在想,也许我可以在将html文件公开到Intern

我需要在项目中托管的webview中动态更改大约10个HTML字母。这看起来应该很简单。实际上,我只需要更改项目中.html文件中的大约10个字符

让这变得如此困难的是,我需要在页面开始加载到wkwebview之前完成这项工作。有问题的字符位于小部件使用的
标记内。显然,小部件不喜欢脚本中的任何字符在开始加载后被更改。这是我在加载wkwebview后尝试使用JavaScript更改字符后得出的结论

如何在webview开始加载之前更改10个字符

我在想,也许我可以在将html文件公开到Internet之前更改它。。。但我不知道怎么做。或者我可以在更改HTML后重新加载包含小部件的div。但是我认为它会被设置回默认值

这是一个基本的page.html文件:

<html>
<body>
<head>
<script>
setName(param) {
  var myelement = document.getElementById("name");
        myelement.innerHTML= param;
}
</script>
</head>
<body>
<div class="widget-container">
  <div id="widget-dest"></div>
  <script type="text/javascript" src="https://s3._/widget.js"></script>
  <script type="text/javascript">
  new widget(
  {
 
  "symbol": "omar sharif",//THIS IS THE PARAMETER I NEED TO CHANGE..<span id=name></span> would go here but JS NOT WORKING
  "timezone": "Etc/UTC",
  "locale": "en"
}
  );
  </script>
</div>
</body>
</html>

我不知道这对你是否有帮助。但您可以在这里查看:

您不能使用js对html文件进行更改吗?
var webView = WKWebView()
override func viewDidLoad() {
super.viewDidLoad()
webView.navigationDelegate = self
webView.uiDelegate = self
if let url = Bundle.main.url(forResource: "page", withExtension: "html") {
webView.loadFileURL(url, allowingReadAccessTo: url.deletingLastPathComponent())
}
}
override func loadView() {
 super.loadView()
 self.view = webView
}
//Unsuccessful effort to set name value with JS in delegate after loading. It can set a value elsewhere on page, but widget won't load when I try to set parameter this way


func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    webView.evaluateJavaScript("setName("John Wayne")", completionHandler: nil)
    }