我正在尝试使用 kotlin-js 注册一个网络消息频道,但无法确定如何访问该MessageEventInit
类型。
https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-message-event-init/index.html
该window.addEventListener
方法只公开一个泛型Event
类型
fun addEventListener(
type: String,
callback: EventListener?,
options: dynamic = definedExternally)
fun addEventListener(
type: String,
callback: ((Event) -> Unit)?,
options: dynamic = definedExternally)
到目前为止,这是我想出的,但是很难构建该项目。
fun configureChannel() {
val channel = MessageChannel()
var jsPortOne = channel.port1
var jsPortTwo = channel.port2
window.addEventListener("message", {
}, false)
jsPortOne.addEventListener("message", {
window.alert((it as MessageEvent).data.toString())
}, false)
jsPortTwo.addEventListener("message", {
window.alert((it as MessageEvent).data.toString())
}, false)
jsPortOne.start()
jsPortTwo.start()
}
我的主要目标是将此文件转换为 Kotlin/JS 并将其与此 kotlin android 项目结合起来