player-iframe-api-loader
Пакет @kinescope/player-iframe-api-loader загружает IFrame Player API без колбэка onKinescopeIframeAPIReady и даёт TypeScript-типы. Репозиторий: kinescope/player-iframe-api-loader
.
Установка
npm install @kinescope/player-iframe-api-loader --save
Загрузка API
import * as iframeApiLoader from '@kinescope/player-iframe-api-loader'
const factory = await iframeApiLoader.load()
const player = await factory.create('player', {
url: 'https://kinescope.io/VIDEO_ID',
})
load() подтягивает скрипт API и возвращает фабрику. Дальше — как в обычном IFrame API
: create()
и управление плеером
.
Версия скрипта
По умолчанию загружается latest. Можно указать версию или свой URL:
// latest (по умолчанию)
await iframeApiLoader.load()
// конкретная версия: 'v2.123.0' или '2.123.0'
await iframeApiLoader.load('v2.123.0')
// свой URL скрипта
await iframeApiLoader.load(new URL('https://player.kinescope.io/latest/iframe.player.js'))
На странице может быть только одна версия IFrame API. Если уже загружена другая,
load() выбросит ошибку.Только типы
Если скрипт API подключаете сами, можно импортировать только типы:
import '@kinescope/player-iframe-api-loader/types'
let player: Kinescope.IframePlayer.Player | undefined
const factory = window.Kinescope?.IframePlayer
if (factory) {
player = await factory.create('player', {
url: 'https://kinescope.io/VIDEO_ID',
})
}