如何将<script> </script>集成到fancybox2的content方法中

时间:2014-08-04 06:24:17

标签: javascript jquery ajax fancybox-2

我试图在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)但没有运气......

提前致谢

1 个答案:

答案 0 :(得分:2)

我不习惯使用 Fancybox ,但是你有 jQuery 来为你完成这项工作。

那么,如何使用jQuery.getScript()方法。

  

描述:使用GET HTTP从服务器加载JavaScript文件   请求,然后执行它。

在您的fancybox beforeShowbeforeLoad回调中,

beforeLoad: function(current, previous) {
          $.getScript("https://github.com/aterrien/jQuery-Knob/blob/master/js/jquery.knob.js", function(){
               alert("Script Loaded");
           });
      }

我认为这对你有用。

经过一些谷歌搜索后,我想出了一个解决方案。 在您的fancybox beforeShowbeforeLoad回调中添加此行以向标题部分添加脚本,

 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