这个完全正常运行:
<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"></script>
</body>
FancyBox打开但没有显示文本。("text 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或content引用。然而,当播放器是iframe且内容来自href时,FancyBox容器为空。如果内容来自content属性,则FancyBox会显示404错误。只需注释和取消注释jsFiddle代码即可了解我的意思。欢迎提出任何想法来满足我的目标,并会得到赞!更新:07/31/2012。这个新的jsFiddle示例:Iframe report viewer works but not in FancyBox。正如您所看到的,我已经尝试了几种方法来在FancyBox中显示iframe。虽然FancyBox确实显示了iframe的内容,但打印功能却出现了问题。
我认为解决这个问题的方法之一是在myContent变量加载后将其内容写入FancyBox中,但我找不到正确的DOM节点来写入(A),也无法让FancyBox使用其iframe播放器来显示
iframe
(B)当iframe
src="about:blank"
时。有什么建议吗?或者你能看到修复jsFiddle示例的方法吗?
window.print()
,并且查看者可以得到一个漂亮的打印出FancyBox内容的输出。即使我的内联内容看起来像是完整的HTML文档,但DOM并不将其视为文档,因此print()
方法会打印主窗口的内容。(我知道我可以通过打开新窗口来打印FancyBox的内容,但如果可能的话,我想避免这样做。) - Karltype
属性,则 div 的内容将不再出现在 FancyBox 中。 - Karliframe
зҡ„жғіжі•жҳҜдёәдәҶжү“еҚ°fancyboxзҡ„еҶ…е®№пјҢиҜ·жҹҘзңӢhttp://stackoverflow.com/a/11485923/1055987гҖӮ - JFK