2017-04-12 100 views
0

是否可以通過加載WKWebView loadHTMLString方法的HTML加載Xcode項目的腳本文件?從HTML字符串加載腳本wkwebview

例如,如果我有一個名爲DemoProject的項目,並在根目錄中具有名爲script1.js和script2.js的JavaScript文件。然後我加載一個試圖引用這些文件的html字符串。那可能嗎?如果是這樣,我如何正確引用這些文件?

+0

嘗試此 Adolfo

+0

我確實沒有找到它。 – ImmortalBajan

+0

HTML文件和腳本都在同一個目標中嗎? – Adolfo

回答

1

嘗試將其註冊爲用戶腳本。 如果您的文件夾結構是這樣的,使用以下函數將其加載作爲用戶腳本

enter image description here

private func fetchScript() -> WKUserScript!{ 

    var jsScript = "" 
    if let jsPath = Bundle.main.path(forResource: "hello", ofType: "js", inDirectory: "scripts"){ 
     do 
     { 
      jsScript = try String(contentsOfFile: jsPath, encoding: String.Encoding.utf8) 
     }catch{ 

      print("Error") 
     } 
    } 

    let wkAlertScript = WKUserScript(source: jsScript, injectionTime: .atDocumentEnd, forMainFrameOnly: true) 
    return wkAlertScript 
} 

添加給控制器

func registerScriptsAndEvents() { 

    let controller = self.wkWebView.configuration.userContentController 
    // Load the entire script to the document 
    controller.addUserScript(fetchScript()) 
} 
+0

我會試試這個,讓你知道它是否有效。 – ImmortalBajan

+0

你可以查看這個項目https://github.com/anoop4real/WKWebViewExperiments我試了很多東西 – anoop4real

+0

@ anoop4real,應該通過start.html文件調用hello.js文件。 –