包org.scalajs.dom.experimental
包含全屏 API 的外观。目前的实现似乎是供应商前缀的,至少对于Chrome和Firefox来说是这样。如何使用此外观与供应商前缀的浏览器一起使用?
最简单的解决方案是使用其规范名称填充 API,重定向到以供应商为前缀的版本。例如,在 JavaScript 文件中:
if (!Document.prototype.hasOwnProperty("fullscreenEnabled")) {
if (Document.prototype.hasOwnProperty("webkitFullscreenEnabled"))
Object.defineProperty(Document.prototype, "fullscreenEnabled", {
get: function() { return this.webkitFullscreenEnabled; }
}
}
}
或者,在 Scala 中.js:
import scala.scalajs.js
import js.DynamicImplicits._
import js.Dynamic.{global => g}
if (!g.Document.prototype.hasOwnProperty("fullscreenEnabled")) {
if (g.Document.prototype.hasOwnProperty("webkitFullscreenEnabled"))
js.Object.defineProperty(g.Document.prototype, "fullscreenEnabled", js.Dynamic.literal(
get = { (thiz: js.Dynamic) => thiz.webkitFullscreenEnabled; }: js.ThisFunction
)
}
}