/** * Jessibuca视频播放器插件 * 用于初始化Jessibuca所需的脚本和依赖 */ // 加载Jessibuca脚本 export const loadJessibucaScript = () => { return new Promise((resolve, reject) => { if (typeof window === 'undefined') { return reject(new Error('非浏览器环境,无法加载Jessibuca')) } // 检查是否已经加载 if (window.Jessibuca) { return resolve(window.Jessibuca) } // 加载主脚本 const script = document.createElement('script') script.src = '/static/js/jessibuca/jessibuca.js' script.async = true script.onload = () => { console.log('Jessibuca脚本加载成功') resolve(window.Jessibuca) } script.onerror = (error) => { console.error('Jessibuca脚本加载失败:', error) reject(error) } document.head.appendChild(script) }) } export default { install(app) { // 全局属性 app.config.globalProperties.$jessibuca = { // 加载Jessibuca脚本方法 loadScript: loadJessibucaScript, // 创建播放器实例 createPlayer(options) { return loadJessibucaScript() .then(() => { return new window.Jessibuca(options) }) } } // 预加载脚本 setTimeout(() => { loadJessibucaScript().catch(err => { console.error('预加载Jessibuca失败:', err) }) }, 1000) } }