javascript-如何正确使用SWFObject
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何正确使用SWFObject,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2727字,纯文字阅读大概需要4分钟。
内容图文
![javascript-如何正确使用SWFObject](/upload/InfoBanner/zyjiaocheng/656/820108b9a52b490b834d08ec11ce35b3.jpg)
我正在使用SWFObject将YouTube视频嵌入到我们的网站中.一页中有许多指向视频的链接,每个链接都会清除包装div,然后使用以下代码将新的嵌入内容嵌入其中:
$('a.video-link').each(function () {
$(this).on('click', function(e) {
e.preventDefault();
if ($('#video-wrap').has('object').length == 0) {
var params = { allowScriptAccess: 'always', allowFullScreen: 'true' };
var atts = { id: 'ytapiplayer' };
swfobject.embedSWF($(this).attr('href'), 'ytapiplayer', '1000', '562', '8', null, null, params, atts);
$('#video-wrap').show();
} else {
$('#video-wrap').find('object').remove();
$(this).trigger('click');
}
});
});
这些是我用于每个嵌入的Youtube链接:
http://www.youtube.com/v/{Youtube ID}?hl=en_US&rel=0&hd=1&border=0&version=3&fs=1&autoplay=1&autohide=1&enablejsapi=1&playerapiid=ytapiplayer
然后,这是onYouTubePlayerReady()事件处理程序:
function onYouTubePlayerReady(id) {
console.log('youtube player is ready.');
var ytplayer = document.getElementById('ytapiplayer');
ytplayer.addEventListener('onStateChange', 'onYouTubePlayerStateChange');
ytplayer.addEventListener('onError', 'onYouTubePlayerError');
}
所有视频加载正常,但是onYouTubePlayerReady从未被点击!
请帮我解决这个问题.最终目标是使Youtube API正常运行.
谢谢.
编辑:我尝试使用代码,确保所有名称正确,分成不同的脚本标签和/或.js文件,将其加载到document.ready()内部的开头,但onYouTubePlayerReady不会触发.你怎么看?
解决方法:
这是工作代码:
在每个视频链接上执行SWFObject:
$('a.video-link').on('click', function(e) {
e.preventDefault();
// SWFObjects loads a video object into div with ID ytapiplayer.
// If the wrapper div already contains a video we need to remove it first:
if ($('#video-wrap').has('object').length == 0) {
var params = { allowScriptAccess: 'always', allowFullScreen: 'true' };
var atts = { id: 'ytapiplayer' };
swfobject.embedSWF($(this).attr('href'), 'ytapiplayer', '1000', '562', '8', null, null, params, atts);
$('#video-wrap').show();
} else {
$('#video-wrap').find('object').remove();
$(this).trigger('click');
}
});
具有API值的YouTube链接:
http://www.youtube.com/v/' + data.YoutubeLink + '?hl=en_US&rel=0&hd=1&border=0&version=3&fs=1&autoplay=1&autohide=1&enablejsapi=1&playerapiid=ytapiplayer
我将SWFObject事件处理程序将此代码放在一个单独的.js文件中,该文件在执行SWFObject的代码之前加载.我不知道是否有必要,但是无论如何它都在工作:
function onYouTubePlayerReady(id) {
// We need the actual DOM element for this, if we want to use more advanced API.
// This is because addEventListener activates the API.
var ytplayer = $('#ytapiplayer').get(0);
ytplayer.addEventListener('onStateChange', 'onYouTubePlayerStateChange'); // onYouTubePlayerStateChange(newState)
ytplayer.addEventListener('onError', 'onYouTubePlayerError'); // onYouTubePlayerError(errorCode)
}
内容总结
以上是互联网集市为您收集整理的javascript-如何正确使用SWFObject全部内容,希望文章能够帮你解决javascript-如何正确使用SWFObject所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。