Mac开发WKWebView加载本地文件

2020-06-27  本文已影响0人  codeshif

作者要加载本地的一个js组件作用于WKWebView中,如下:


image.png

加载的HTML代码:

let html = """
<!DOCTYPE html>
            <html lang="en">
            <head>
              <meta charset="UTF-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
              <title>Editor</title>
              <style type="text/css" media="screen">
                body {
                    overflow: hidden;
                }

                #editor {
                    margin: 0;
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0;
                }
              </style>
            </head>
            <body>

            <pre id="editor">function foo(items) {
                var i;
                for (i = 0; i &lt; items.length; i++) {
                    alert("Ace Rocks " + items[i]);
                }
            }</pre>

            <script src="ace.js" type="text/javascript" charset="utf-8"></script>
            <script>
                var editor = ace.edit("editor");
                editor.setTheme("ace/theme/twilight");
                editor.session.setMode("ace/mode/javascript");
            </script>

            </body>
            </html>
"""

但是问题来了,HTML引用本地的资源文件中的js库,该怎么注入进去呢?
这个需要使用loadHTMLString:的第二个参数了

contentWebView.loadHTMLString(html, baseURL: Bundle.main.resourceURL?.appendingPathComponent("Ace"))

通过第二个参数的URL可以指定所有js引用的路径,设置它就OK拉

上一篇下一篇

猜你喜欢

热点阅读