我已经尝试了几个小时让fancybox加载一个php文件,但没有成功……
以下是详细信息:
您可以访问有问题的here的网站。当您单击每个图像旁边的“ΠαλαιάΔημοτικάΛουτρά”或“ΑρχαίοΩδείο”时,将调用Fancybox请求。
首先,通过ajax请求加载页面内容。此页面包含以下链接:
<a class="area_fancybox" href="http://www.mysite/fancy_areas.php?areasName=' . $the_area . '">' . $the_area . '</a>
其中php变量是我想要传递给$the_area文件的参数,fancybox将加载该文件。现在,当页面的内容加载后,我添加了fancybox代码,如下所示。
jQuery('#diethnes_festival_2012').load('../../../diethnes_festival_2012.php', function() {
jQuery("a.area_fancybox").fancybox();
});
当你点击"area_fancybox“链接时,fancybox开始加载,但没有任何反应...
任何帮助都将不胜感激。
发布于 2012-06-11 03:34:11
从url开始的Fancybox
ajax调用请求以www
开头,而您的链接没有这一部分。如果你一开始就用www.
加载你的页面,那么调用就能正常工作。这是由于浏览器的allow-control-access-policy
造成的。请始终使用firebug
或chrome developer tools
在控制台中查找错误。
发布于 2012-06-11 03:36:56
这是一个跨域的问题(你不允许从域mysite加载来自www.mysite的内容。您会注意到,如果您在URL中使用www访问站点,那么它将按原样工作:http://www.mysite/events-pc/pc-festival/1610-diethnes-festival-patras-2012.html
我建议在href中使用相对路径,这将使您的代码在这两种情况下都能工作:
<a class="area_fancybox" href="/fancy_areas.php?areasName=Παλαιά Δημοτικά Λουτρά">Παλαιά Δημοτικά Λουτρά</a>
顺便说一句,如果你还没有尝试过Firebug,我建议你去看看--它对调试这类东西真的很有帮助。如果你使用的是Chrome,只需按下ctrl-shift-J。
https://stackoverflow.com/questions/10971670
复制相似问题