我试图在fancybox的内容方法中加载javascript内容。
<script>
$('#streaminput').on("click", function() {
$('#streaminput').fancybox({
width : '95%',
height : '95%',
autoSize : false,
closeClick : false,
fitToView : false,
openEffect : 'elastic',
closeEffect : 'none',
content: '<script src="http://scriptfromanotherwebsite" idvideo="myid"></script>'
});
});
</script>
我尝试在ajax中发送idvideo
并将脚本加载到另一个页面(使用iframe fancybox)但没有运气......
提前致谢
答案 0 :(得分:2)
我不习惯使用 Fancybox ,但是你有 jQuery 来为你完成这项工作。
那么,如何使用jQuery.getScript()方法。
描述:使用GET HTTP从服务器加载JavaScript文件 请求,然后执行它。
在您的fancybox beforeShow
或beforeLoad
回调中,
beforeLoad: function(current, previous) {
$.getScript("https://github.com/aterrien/jQuery-Knob/blob/master/js/jquery.knob.js", function(){
alert("Script Loaded");
});
}
我认为这对你有用。
经过一些谷歌搜索后,我想出了一个解决方案。
在您的fancybox beforeShow
或beforeLoad
回调中添加此行以向标题部分添加脚本,
var add_script = document.createElement('script');
add_script.setAttribute('src','https://github.com/aterrien/jQuery-Knob/blob/master/js/jquery.knob.js');
add_script.setAttribute('idvideo','mynameispawal');
document.head.appendChild(add_script);
我相信您可以在beforeshow
内调用AJAX来访问idvideo
的值。
这是一个demo fiddle。