javascript – FancyBox将DIV的内容显示为iFrame类型
作者:互联网
这非常好用:
<script type="text/javascript">
$(document).ready(function() {
$.fancybox({'href' : 'http://www.cnn.com','frameWidth':500,'frameHeight':500,'hideOnContentClick': false,'type':'iframe'});
});
</script>
也就是说,FancyBox打开并显示CNN主页.但是,如果我将href属性更改为“#pg”
并以这种方式编码页面:
<body>
<div id="pg"></div>
<script type="text/javascript">
document.getElementById("pg").innerHTML = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\"><head><title></title></head><body>test me now</body></html>";
</script>
</body>
FancyBox打开但不显示任何文本. (文本“now me now”显示在#pg div元素中.注意它被分配给页面末尾的DIV的innerHTML.)
基本上,我想知道是否有一种方法可以动态初始化DIV的innerHTML属性并将其显示为FancyBox类型的iFrame? (iFrame的内容将有一个打印iFrame文档的按钮.)
TIA
更新:07/28/12
正如@arttronics建议的那样,我整理了一个jsFiddle
总而言之,最终目标是能够单击FancyBox中包含的按钮,该按钮可打印FancyBox的全部内容而无需打开另一个窗口. (我想使用FancyBox作为Javascript解析内容的报表查看器.)
我假设我需要使用FancyBox的iframe播放器显示内容,但我可能错了.
jsFiddle显示:
FancyBox能够使用内联播放器显示验证为HTML页面的文本.可以通过href或内容引用文本.
但是,当播放器是iframe且内容来自href时,FancyBox容器为空.如果内容来自content属性,则FancyBox显示404错误.
只需评论和取消注释jsFiddle代码,看看我的意思.
任何关于如何达到我的目标的想法都会受到赞赏并获得投票!
TIA.
更新:07/31/2012
这个新的jsFiddle示例:Iframe report viewer works but not in FancyBox
如您所见,我尝试了几种方法在FancyBox中显示iframe.虽然FancyBox确实显示了iframe的内容,但打印功能会中断.
我认为解决这个问题的一种方法是在加载后将myContent var的内容写入FancyBox,但我不能(A)找到要写入的正确DOM节点,并且(B)我可以’当iframe src =“about:blank”时,让FancyBox使用iframe播放器显示iframe.
有什么建议么?或者您是否看到了修复jsFiddle示例的方法?
解决方法:
你真的希望< iframe src =“#myID”>< / iframe>会打开一个id为myID的元素进入iframe吗?
如果要打印fancyBox的内容,则可以添加打印按钮–http://jsfiddle.net/s3jRA/
更新的演示 – http://jsfiddle.net/qVrLr/ – 用于创建和更新iframe的内容
标签:javascript,jquery,iframe,fancybox 来源: https://codeday.me/bug/20190926/1819286.html