包org.scalajs.dom.experimental
包含Fullscreen API的外观。目前的实现似乎是供应商的前缀,至少对于Chrome和Firefox而言。如何使用此外观与供应商前缀浏览器配合使用?
答案 0 :(得分:1)
最简单的解决方案是使用其规范名称对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
)
}
}