iOS WKWebView Swift javascript启用

问题描述 投票:4回答:2

我正在尝试开发一个简单的应用程序来浏览我的网站。但是我的网站包含一些JavaScript,但它没有成功显示我的网站。

在过去开发与Android相同的应用程序,不得不像这样激活:

webSettings.setJavaScriptEnabled(true);

这个目前我的代码我只是错过了启用javascript的选项,如果有人可以提供帮助,我将非常感激

import WebKit

class ViewController: UIViewController {

  @IBOutlet weak var webView: WKWebView!

  override func viewDidLoad() {
    super.viewDidLoad()
    let url = URL(string: "http://132.148.136.31:8082")
    let urlRequest = URLRequest(url: url!)

    webView.load(urlRequest)
  }
}
ios swift web view wkwebview
2个回答
8
投票

使用WKWebView最好从代码创建它。你可以将javaScriptEnabled设置为配置:

let preferences = WKPreferences()
preferences.javaScriptEnabled = true
let configuration = WKWebViewConfiguration()
configuration.preferences = preferences
let webview = WKWebView(frame: .zero, configuration: configuration)

更新。这是视图控制器类中的WKWebView:

import UIKit
import WebKit

class ViewController: UIViewController {

    private var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let preferences = WKPreferences()
        preferences.javaScriptEnabled = true
        let configuration = WKWebViewConfiguration()
        configuration.preferences = preferences
        webView = WKWebView(frame: view.bounds, configuration: configuration)
        view.addSubview(webView)
    }
}

1
投票

您正在使用WKWebView故事板视图,因此您可以直接访问配置。因此,请在WKWebView配置下使用首选项。

import WebKit

class ViewController: UIViewController {

  @IBOutlet weak var webView: WKWebView!

  override func viewDidLoad() {
    super.viewDidLoad()
    let url = URL(string: "http://132.148.136.31:8082")
    let urlRequest = URLRequest(url: url!)

    // enable JS
    webView.configuration.preferences.javaScriptEnabled = true
    webView.load(urlRequest)
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.