【问题标题】:'Invalid calling object' occurring with FancyBox in IEIE 中的 FancyBox 出现“无效调用对象”
【发布时间】:2013-11-11 02:49:28
【问题描述】:

我有一个花哨的电话:

$(function() {
    $(".fancybox").fancybox({
            width   : 560,
            height  : 600,
            fitToView : false,
            autoSize : false,
        });
    });

这在 Chrome 和 FF 中运行良好,但在 IE(10 及以下)中我收到消息:

SCRIPT65535: Invalid calling object 

在控制台中。

我不确定这意味着什么或如何解决它。我已经系统地禁用了其他插件,以查看它们是否与此交互,但它们都很好 - 问题仍然存在。

如果有人想看看,我正在处理的页面在这里http://pixelframe.com.au/test-page.html。

有谁知道这意味着什么以及如何解决它?

【问题讨论】:

  • 在这一行:autoSize : false, 去掉结尾的,
  • 尾随逗号应该只是 IE 中的问题
  • 我注意到的另一件事是,fancybox 通常在div 上给出,而不是在a 上给出。不确定如何在 a 标签上处理它
  • @karthikr :fancybox 通常在锚点中使用,并从 href 属性中获取内容。

标签: javascript jquery internet-explorer fancybox fancybox-2


【解决方案1】:

如果您在最后一个选项中放置一个尾随逗号,则 IE 需要一个标识符、字符串或数字,因此它会触发一个阻止 fancybox 工作的 js 错误。

从最后一个 API 选项中删除尾随逗号:

$(function() {
    $(".fancybox").fancybox({
        width   : 560,
        height  : 600,
        fitToView : false,
        autoSize : false, //<== remove this comma
    });
});

这个JSFIDDLE例如在IE7中不起作用

【讨论】:

  • IE 无论如何都不“挑剔”。文字对象和数组语法中的尾随逗号从 ES5 开始有效,直到 IE7 发布后才标准化。
  • 没问题。我仍然认为这不是问题,因为 OP 在 IE10 中报告错误。也就是说,问题可能不在问题的代码中。
  • @FabrícioMatté 我根据10 and below 进行了回答,但可能有其他因素在影响。该文档是invalid,它甚至无法识别&lt;head&gt; 开始标签
  • @JFK 谢谢 - 我已经删除了逗号,但问题仍然存在
【解决方案2】:

我不认为这是一个正确的答案,但我完全重置了 IE 并且它可以工作。很奇怪。

【讨论】:

  • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
  • @Ramblin'Man :他是回答自己问题的作者;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多