jquery fancybox,iframe或ajax,用url加载

使用fancybox(v2),如何创建一个唯一的URL,在加载时显示带有iframe内容的fancybox。 我使用内联内容(例如www.mysite.com/index.html#idgoeshere)非常好用,但是不知道url或js应该包含哪些内容以加载fancybox,并且在其中包含特定的iframe或者ajax.txt页面。

我想要实现的是通过以下链接:

www.mysite.com/index.html#https://stackoverflow.com/questions/15281530/jquery-fancybox-iframe-or-ajax-load-with-url/iframe.html

加载索引页面,打开fancybox窗口,将https://stackoverflow.com/questions/15281530/jquery-fancybox-iframe-or-ajax-load-with-url/iframe.html页面加载到fancybox窗口中(或者它也可以是通过ajax加载的.txt文件)。

HTML

Iframe 

的fancybox

  $(document).ready(function($) { $.fancybox({ content: $(window.location.hash).html() }); $('.fancybox').fancybox(); });  

感谢您的帮助或指导。

凯尔

更新

谢谢大家的帮助!! 以下是最适合我的工作。 我将我的内容保存到单独的html文件中,然后使用fancybox.iframe调用它们

JS:

  $(document).ready(function () { $('.fancybox').fancybox({ 'scrolling' : 'no' }); if (window.location.hash !== "") { $(window.location.hash).click(); } });  

查看Fancybox网站上的示例.Fancybox操作完全基于链接的href。 因此,如果您加载页面然后更新页面上链接的href以指向iframe.html ,然后在其上调用.fancybox ,那么它应该按预期工作。 警告:未经测试的代码在我的头顶跟随……

 $(document).ready(function(){ $('#target').attr('href', window.location.hash.substring(1)).fancybox(); }); 

需要子串调用来从window.location.hash返回的哈希字符串中删除#

希望这可以帮助

使用标签是一个坏主意,因为谷歌和Facebook等网站经常忽略它们。

相反,在fancybox的afterLoad函数中使用window.history.replacestate。

例如:

 afterLoad:function(){ window.history.replaceState({},"Fancybox","/url-to-set"); } 

关于replaceState的奇怪之处在于前两个参数并不重要(据我所知)。 唯一重要的是最终的参数“/ url-to-set”。 您希望将此设置为您希望作为url的唯一url。