web-dev-qa-db-ja.com

iOS WKWebView Swift javascript enable

私は自分のウェブサイトを閲覧するためのシンプルなアプリを開発しようとしています。ただし、私のWebサイトにはJavaScriptが含まれており、Webサイトが正常に表示されません。

以前は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)
  }
}
7
lusito92

WKWebViewを使用して作業する方が、コードから作成することをお勧めします。そして、javaScriptEnabledconfigurationに設定できます:

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

更新。これはView Controllerクラスの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)
    }
}
11

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)
  }
}
1