Chrome的最近更新(V 20.x)使用新的内置日期和时间输入类型打破了我的一个表单.我在日期字段上调用jQuery UI datepicker,它曾经在更新之前完美地工作.更新后,Chrome会覆盖我的占位符并使jQuery UI窗口小部件无法使用.
有关如何阻止Chrome搞砸我的输入字段而不改变其类型的任何想法?
不确定我是否遇到了一个错误WebKit或我正在做一些可怕的错误,但我无法弄清楚如何使用WKScriptMessageHandler而不会导致WKScriptMessage.body泄漏中包含的任何值.
我能够组建一个最小的Mac项目来隔离问题,但无济于事.
在主视图控制器中:
class ViewController: NSViewController {
var webView: WKWebView?
override func viewDidLoad() {
super.viewDidLoad()
let userContentController = WKUserContentController()
userContentController.addScriptMessageHandler(self, name: "handler")
let configuration = WKWebViewConfiguration()
configuration.userContentController = userContentController
webView = WKWebView(frame: CGRectZero, configuration: configuration)
view.addSubview(webView!)
let path = NSBundle.mainBundle().pathForResource("index", ofType: "html")
let url = NSURL(fileURLWithPath: path!)!
webView?.loadRequest(NSURLRequest(URL: url))
}
}
extension ViewController: WKScriptMessageHandler {
func userContentController(userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) {
print(message.body)
}
}
Run Code Online (Sandbox Code Playgroud)
然后在index.html文件中:
<html>
<head></head>
<body>
<script type="text/javascript">
webkit.messageHandlers.handler.postMessage("Here's …Run Code Online (Sandbox Code Playgroud) 我正在使用ReactiveCocoa 4.0和Swift.我有一个叫做startedSignal类型的信号Signal<String, NoError>,我在视图控制器中订阅.
startedSignal.observeNext { _ in
// Do stuff
}
Run Code Online (Sandbox Code Playgroud)
我基本上想要等待几秒钟,如果startedSignal不发送任何下一个值,则执行其他操作.我查看了文档并查看了类似的内容retry,SignalProducer但我不确定如何实现这一点,因为startedSignal它没有完成或发送错误.
date ×1
datepicker ×1
input ×1
ios ×1
jquery-ui ×1
macos ×1
memory-leaks ×1
swift ×1
webkit ×1