使用fancybox(v2),如何创建一个唯一的URL,该URL在加载时显示带有iframe内容的fancybox。我可以很好地处理内联内容(例如,www.mysite.com / index.html#idgoeshere),但不知道为了加载fancybox以及其中的特定iframe,URL或js应该包含什么内容或ajax.txt页面。
我想要达到的目标是通过转到以下链接:
www.mysite.com/index.html#iframe.html
加载索引页面,打开fancybox窗口,并将iframe.html页面加载到fancybox窗口中(或者也可以是通过ajax加载的.txt文件)。
的HTML
<a class="fancybox fancybox.iframe" href="iframe.html">Iframe</a>
花式盒子
<script> $(document).ready(function($) { $.fancybox({ content: $(window.location.hash).html() }); $('.fancybox').fancybox(); }); </script>
感谢您的帮助或指导。
凯尔
更新资料
谢谢大家的帮助!这就是最终对我有用的东西。我将内容保存到单独的html文件中,然后使用fancybox.iframe对其进行了调用
JS:
<script> $(document).ready(function () { $('.fancybox').fancybox({ 'scrolling' : 'no' }); if (window.location.hash !== "") { $(window.location.hash).click(); } }); </script>
看一下Fancybox网站上的示例Fancybox操作完全基于链接的href。因此,如果您加载该页面,然后iframe.html在调用.fancybox它之前更新页面上的链接的href以指向该链接,则它应该可以正常工作。警告:未经测试的代码浮出水面……
iframe.html
.fancybox
$(document).ready(function(){ $('#target').attr('href', window.location.hash.substring(1)).fancybox(); });
需要子字符串调用才能#从中返回的哈希字符串中删除window.location.hash
#
window.location.hash
希望这可以帮助