【发布时间】:2012-02-22 15:24:24
【问题描述】:
我正在使用广受欢迎的 Fancybox (http://fancybox.net) 作为灯箱插件,但由于某种原因,它抛出了 Uncaught TypeError: Object [object Object] has no method 'fancybox' 错误并失败执行。
通过删除我的 AJAX / jQuery DOM 重写脚本,我已经确认是哈希 http://myurl.com/!#/ 的附加导致 Fancybox 脚本在其目标中失灵,在脚本上给出空响应。
AJAX 内容获取的细节并不那么重要,关键是它会导致 Fancybox 的某些方面无法正确执行(依赖于插件代码主体中的根 URL)。如何重写插件以找到正确的根 URL 并忽略哈希重写?
这是我需要重写的关于 DOM 定位的 Fancybox 代码的粘贴箱:http://pastebin.com/s9FjCiai
您可以在这里查看我的开发沙箱中的开发中站点:http://dreamstartest.net
JS 资源肯定是根据 Chrome 开发者工具加载的……还有什么其他的调试方法吗?
编辑在 Github 上将其作为问题打开,但就像我在下面的评论中所说,开发人员看起来已经被淹没了,如果有人能找到违规行,我已经到了最后期限这可能会导致 URL 哈希重写出现问题,我将永远感激不尽!
【问题讨论】:
-
您是否将此作为错误提交给开发人员?
-
好点。不幸的是,开发人员已经放弃了这个根据 GPL 许可的版本,转而支持最近的 v2,该 v2 现在处于非商业许可下。我很欣赏他的立场,但旧版本对我来说一直很好用。不幸的是,Github 存储库现在充满了问题,而且我正处于最后期限,所以我怀疑我能否从开发人员那里得到足够快的响应。
-
我正在决定一个项目的模式。我想我会排除fancybox。
-
如果你找到了可以与我正在做的奇怪的 AJAX 技巧一起工作的东西,请告诉我。我感觉他们中的大多数都不能满足我的要求,但我不知道......
标签: javascript jquery ajax dom rewrite