WKWebView 是不是支持加载外部 javascript 文件?

Posted

技术标签:

【中文标题】WKWebView 是不是支持加载外部 javascript 文件?【英文标题】:Does WKWebView support loading of external javascript files?WKWebView 是否支持加载外部 javascript 文件? 【发布时间】:2016-02-10 10:36:19 【问题描述】:

我正在将一个 html 模板加载到 WKWebView 中。 HTML 有一个脚本标签,它引用了一个本地 JS 文件,如下所述:

<script type="text/javascript" src="test.js"></script>

但是,这个 js 内容根本没有加载到 web 视图中。

所以,我使用 WKUserScript 将此文件的内容注入 Web 视图。这解决了我最初的问题。但是,我在运行时在“test.js”中注入了一些额外的 JS 文件。这些文件都没有加载到 Web 视图中。

调试时,所有这些文件都出现以下错误:'加载资源失败:在此服务器上找不到请求的 URL。'.

有趣的是,当使用 UIWebView 时,相同的代码可以正常工作。

感谢任何输入/反馈。谢谢。

【问题讨论】:

【参考方案1】:

可以。

    从资源包中加载你的 test.js

    var path = NSBundle.mainBundle().pathForResource("test", ofType: "js")

    将文件内容转换为字符串,然后使用内置的 evaluateJavaScript() 加载 javascript 代码...

    webView.evaluateJavaScript(String.stringWithContentsOfFile(path), completionHandler: nil)

【讨论】:

你将如何使用另一个js文件的功能?我正在尝试使用我的 js 文件中的一个 js 文件中的库

以上是关于WKWebView 是不是支持加载外部 javascript 文件?的主要内容,如果未能解决你的问题,请参考以下文章

外部JS可以在iOS WkWebView中的加载页面(完成时)上执行吗

如何阻止外部资源加载到 WKWebView?

如何检查 WKWebView 是不是已加载 HTML 字符串

如何阻止外部资源加载WKWebView?

在 WKWebView 中打开外部链接(不是外部)

UIWebView 和 WKWebView 导航