嗨,谢谢你停下来。
我已经解决了我的问题,但我自己,所以我只是想分享我的解决方案,也许有人有更优雅的方式来解决它。也许它的确很好。
所以我通过jquery.ajax()加载一些html,而dataType是html。 有时一个视频放在里面,而且我最优雅的方式是嵌入这个,是jwplayers js嵌入代码,看起来像这样:
<script>
jwplayer("mediaplayer").setup({
flashplayer: "/player.swf",
image: "/image.jpg",
autostart: true,
'controlbar': 'none',
file: "/video.m4v",
width: 752,
height: 416
});
</script>
现在,如果我加载它,没有任何反应,js只是没有被执行。
所以我最终将没有脚本标签的js放入div。
<div id="vc">
jwplayer("mediaplayer").setup({
...
});
</div>
然后在我的ajaxComplete()调用中,我只是将这些东西移出div并将其放在两个脚本标记之间。
if ($("#vc").text() !== "") {
var vjs = $("#vc").text();
$("#vc").empty().html("<script>"+vjs+"</script>");
}
答案 0 :(得分:2)
定义一个函数:
<script type="text/javascript">
var embedPlayer = function() {
jwplayer("mediaplayer").setup({
flashplayer: "/player.swf",
image: "/image.jpg",
autostart: true,
'controlbar': 'none',
file: "/video.m4v",
width: 752,
height: 416
});
};
embedPlayer();
</script>
然后在成功回调中你可以调用这个函数:
$.ajax({
url: '/foo',
success: function(result) {
$('#container').html(result);
embedPlayer();
}
});
答案 1 :(得分:1)
虽然不推荐,但用户eval();
if ($("#vc").text() !== "") {
eval($("#vc").text())
}