3

我已经尝试了几个小时来制作fancybox来加载一个php文件,但没有成功......

这是详细信息:

您可以在此处访问有问题的网站。当您单击每个图像旁边的“Παλαιά Δημοτικά Λουτρά”或“Αρχαίο Ωδείο”时,会调用 Fancybox 请求。

首先,页面的内容是通过 ajax 请求加载的。此页面包含链接:

<a class="area_fancybox" href="http://www.mysite/fancy_areas.php?areasName=' . $the_area . '">' . $the_area . '</a>

$the_area 变量是我要传递给fancybox 将加载的php 文件的参数。现在,当页面的内容已经加载时,我添加了 fancybox 代码,就像这样。

jQuery('#diethnes_festival_2012').load('../../../diethnes_festival_2012.php', function() {
  jQuery("a.area_fancybox").fancybox();
});

当您单击“area_fancybox”链接时,fancybox 开始加载,但没有任何反应...

任何帮助将不胜感激。

4

2 回答 2

4

Fancybox来自 url 的 ajax 调用请求以开头,www而您的链接没有这部分。如果您www.在开始时加载页面,则调用有效。这是由于allow-control-access-policy浏览器的原因。始终使用firebugorchrome developer tools在控制台中查找错误。

于 2012-06-10T19:34:11.073 回答
2

这是一个跨域问题(不允许您从域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>

Btw, I recommend checking out Firebug if you haven't already-- it's really helpful for debugging this kind of thing. If you're using Chrome, just hit ctrl-shift-J.

于 2012-06-10T19:36:55.860 回答