Fancybox无法加载请求的内容。请稍后再试

时间:2012-06-01 21:56:39

标签: jquery magento fancybox

<link rel="stylesheet" href="<?php echo $this->getSkinUrl(''); ?>js/fancybox/source/jquery.fancybox.css?v=2.0.6" type="text/css" media="screen" />
<script type="text/javascript" src="<?php echo $this->getSkinUrl(''); ?>js/fancybox/source/jquery.fancybox.pack.js?v=2.0.6"></script>

<script type="text/javascript">

$(document).ready(function() {
  $("a#image").fancybox();
  $("a#image").trigger('click');
  $("a#image").hide();
});

  
<a id="image" href="banner-about-cart.png"><img src="<?php echo $this->getSkinUrl() ?>images/banner-about-cart.png" alt=""/></a>

有什么想法吗?我没有花哨的插件测试图像加载我可以在网站上看到图像,我也使用magento。

3 个答案:

答案 0 :(得分:1)

我认为你应该指定内联的fancybox类, 请记住,css文件中也有样式代码:

 <a id="image" href="banner-about-cart.png" class="fancybox">
    <img src="<?php echo $this->getSkinUrl(); ?>images/banner-about-cart.png" alt="" />
 </a>
 <!--notice that you forgot to semi-colon after $this->getSkinUrl() -->
<script>
   $(document).ready(function() {
     $("a#image").fancybox();
     //try wrapping the rest of the code in this document load:
     $(document).load(function(){
         $("a#image").trigger('click');
         $("a#image").hide();
     });
   });
</script>

此外,如果您尝试以下其中一项,会发生什么?:

 $('#image').trigger('click');
//or
$('a[id="image"]').trigger('click');
//?

答案 1 :(得分:0)

也许这个

href="banner-about-cart.png"

应该是

href="<?php echo $this->getSkinUrl() ?>images/banner-about-cart.png"

或只是

href="images/banner-about-cart.png"

检查您是否有正确的路径。如果禁用javascript(并且链接尚未隐藏),你可以链接到图像吗?

附注

这:

  $("a#image").fancybox();
  $("a#image").trigger('click');
  $("a#image").hide();

可以简化为:

$("a#image").fancybox().trigger('click').hide();

......只是为了好玩;)

答案 2 :(得分:0)

使用getSkinUrl()时,您应该将路径作为参数添加到函数中,而不是之后。方法中的逻辑在当前主题中查找您指定的文件,如果它不存在,那么它将回退到默认主题路径。

示例

假设您使用自定义主题(命名为custom / theme)。给定以下文件结构:

skin/
  frontend/
    custom/
      theme/
        images/
          new-logo.png
    default/
      default/
        images/
          new-logo.png
          logo.png

// Good!
<?php echo $this->getSkinUrl('images/new-logo.png'); ?>
// returns http://www.example.com/skin/frontend/custom/theme/images/new-logo.png

// Good, even though images/logo.png doesn't exist in our custom theme.
<?php echo $this->getSkinUrl('images/logo.png'); ?>
// returns http://www.example.com/skin/frontend/default/default/images/logo.png

// Bad! This will cause a 404 error!
<?php echo $this->getSkinUrl('') . 'images/logo.png'; ?>
// returns http://www.example.com/skin/frontend/custom/theme/images/logo.png

我应该指出,我认为这不适用于查询字符串?v=2.0.6,所以 你需要追加:

<link rel="stylesheet"
      href="<?php echo $this->getSkinUrl('js/fancybox/source/jquery.fancybox.css'); ?>?v=2.0.6"
      type="text/css"
      media="screen" />