Пакет org.scalajs.dom.experimental
содержит фасад для Fullscreen API. Похоже, что текущие реализации представляли собой префикс поставщика, по крайней мере для Chrome и Firefox. Как я могу использовать этот фасад для работы с префиксом браузера поставщика?Как обрабатывать префикс поставщика для обработчиков событий в Scala.js?
0
A
ответ
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
)
}
}
Ницца. Возможно ли также заполнять обработчики событий? Как я могу заставить обработчиков, зарегистрированных в 'onfullscreenerror', запускаться на' onwebkitfullscreenerror'? – Suma
Хмм, понятия не имею. Вам было бы лучше повезло бы этому в веб-сообществе в целом. – sjrd