Fancybox iframe在启动页面上以js编码的内容 – 如何在页面加载时打开?

感谢这个答案 ,我有办法在页面加载上启动fancybox iframe: http : //www.casedasole.it/fancybox/A.html

这个答案显示了如何在启动iframe的页面中打开其内容以javascript编码的fancybox iframe: http : //www.casedasole.it/fancybox/B.html

有没有办法让B做A做的事情 – 即在页面加载时启动自己?

注意:隐藏的div方法( 参见此处 )不起作用,因为我需要能够在iframe中打开后进行导航。

做就是了 :

var myContent = "..."; // html as option "B" jQuery(document).ready(function ($) { $.fancybox({ // API options as "B" // build the iframe content: '', afterShow: function () { var oIframe = document.getElementById('myFrame'); var iframeDoc = (oIframe.contentWindow.document || oIframe.contentDocument); iframeDoc.open(); iframeDoc.write(myContent); iframeDoc.close(); } }); }); // ready 

请参阅JSFIDDLE

请注意myContent变量包含完整的 html结构,包括DOCTYPE部分。 虽然它不是强制性的,但它可以让您更好地控制初始(iframed)页面的设置。

另请注意,在我的jsfiddle中,我将基本内容( html基本结构)与自定义内容(如示例中的

)分开,以达到整洁的目的;)

参考:

  • 选项A: http : //jsfiddle.net/8qp0Lr3z/1/
  • 选项B: http : //jsfiddle.net/qVrLr/