我有这个示例代码,但我相信当我调用未加载的ajax函数时。如何加载外部脚本如下?感谢
<?php if (is_ajax_request()): ?>
<div id="movie5" class="movie"></div>
<script>
var swf = swfobject.embedSWF("http://vimeo.com/moogaloop.swf?clip_id=35014154&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=ffffff&fullscreen=1&autoplay=0&loop=0", "movie5", "500", "281", "9.0.0","expressInstall.swf", { api:1, player_id:"movie5" }, { allowfullscreen:true, allowscriptaccess:'always' });
</script>
答案 0 :(得分:1)
为什么你需要ajax调用呢?这是纯粹的javascript只是执行它并确保页面上包含所需的库。试试这个。
if($('movie5').length == 0){
$('<div id="movie5" class="movie" />')
.appendTo(document.body);//Specify the container where you need this player
}
var swf = swfobject.embedSWF("http://vimeo.com/moogaloop.swf?clip_id=35014154&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=ffffff&fullscreen=1&autoplay=0&loop=0", "movie5", "500", "281", "9.0.0","expressInstall.swf", { api:1, player_id:"movie5" }, { allowfullscreen:true, allowscriptaccess:'always' });
<强>更新强>
理想情况下,当您使用html
,append
等方法时,jQuery将执行作为html内容一部分的脚本。它不起作用然后页面上必定有一些js错误。
您可以尝试的其他方式。只需通过ajax
调用获取html内容,并在ajax
成功处理程序中设置html内容后执行脚本初始化播放器。
试试这个。
$.ajax({
..
success: function(data){
$('.info').html(data);
//Now initialize the player
var swf = swfobject.embedSWF("http://vimeo.com/moogaloop.swf?clip_id=35014154&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=ffffff&fullscreen=1&autoplay=0&loop=0", "movie5", "500", "281", "9.0.0","expressInstall.swf", { api:1, player_id:"movie5" }, { allowfullscreen:true, allowscriptaccess:'always' });
}
})
答案 1 :(得分:0)
最终我想出了这个:
在主页面中,我有一个元素,然后我填充并替换为iframe
主页:
<span class="video clearfix" data-vimeoid="<?php echo the_field('vimeo') ?>"></span>
要加载的内容页面:
var url = this.href + " .content";
var videoSpan = infoBox.find("span.video");
var iframe = $('<iframe/>', {
'frameborder' : 0,
'width' : '692',
'height' : '389',
'src' : 'http://player.vimeo.com/video/'+ videoSpan.data("vimeoid") +'?autoplay=0&api=1'
});
videoSpan.replaceWith(iframe);