gpt4 book ai didi

javascript 警告和确认弹出窗口不适用于 IOS 9 中的 Webkit

转载 作者:行者123 更新时间:2023-11-30 15:53:34 25 4
gpt4 key购买 nike

Javascript 弹出窗口不适用于我的 WebKit。

在 Safari(在 OSX 上)中,本文档将创建预期的警报和确认弹出窗口。但是当我的 WebKit 实例在 IOS 模拟器或设备上运行时,弹出窗口不会显示并且确认函数返回 false。

<!DOCTYPE html>
<html>
<body>

<p id="check3"></p>

<script>
alert("alert 1");

function check3() {
return(confirm("Confirm?"));
}
</script>

<button type="button"
onclick="document.getElementById('check3').innerHTML = check3()">
Check 3</button>

</body>
</html>

我正在使用 Xcode 7.3,针对 IOS 9.3 进行编译。 info.plist 具有 "AppTransportSecurity""Allow arbitrary HTML"

这是我实例化 Web View 的代码 View Controller 代码:

import UIKit
import WebKit

class ViewController: UIViewController, WKNavigationDelegate {

@IBOutlet weak var wv: UIView!

var webView : WKWebView?

override func viewDidAppear(animated: Bool) {
super.viewDidAppear(true)

let webViewCfg = WKWebViewConfiguration()
webViewCfg.preferences.javaScriptEnabled = true;
webViewCfg.preferences.javaScriptCanOpenWindowsAutomatically = true
webView = WKWebView.init(frame:wv.bounds, configuration: webViewCfg)

self.wv.addSubview(webView!)

webView!.navigationDelegate = self

let path = getBundlePath("js1.html")
let targetFileURL = NSURL(fileURLWithPath: path!, isDirectory: false)
webView!.loadFileURL(targetFileURL, allowingReadAccessToURL: targetFileURL)

}
}

最佳答案

从这里answer

您必须是 webview 委托(delegate):

// MARK: WKUIDelegate methods
func webView(webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler: (() -> Void)) {
print("webView:\(webView) runJavaScriptAlertPanelWithMessage:\(message) initiatedByFrame:\(frame) completionHandler:\(completionHandler)")

let alertController = UIAlertController(title: frame.request.URL?.host, message: message, preferredStyle: .Alert)
alertController.addAction(UIAlertAction(title: "OK", style: .Default, handler: { action in
completionHandler()
}))
self.presentViewController(alertController, animated: true, completion: nil)
}

关于javascript 警告和确认弹出窗口不适用于 IOS 9 中的 Webkit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38931626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com