无法在Shopify网站上导入Fancybox。 Jquery只加载一次

时间:2018-03-23 21:08:40

标签: jquery fancybox shopify liquid

我已经使用Narrative主题在我的shopify网站上添加了一个奇特的盒子(在这里找到:http://fancyapps.com/fancybox/3/),但是我收到了错误:

VM3024:1 Uncaught TypeError: $(...).fancybox is not a function
    at <anonymous>:1:22

这通常表明Jquery被多次加载。也许我忽略了它,但我不认为它被加载不止一次。也许默认的Shopify Analytics正在加载它?

我的网站的完整来源可以在这里看到:

view-source:https://www.beckahsheeler.com/

为了导入精美的盒子,我将以下内容添加到我的主题模板中,所有这些都位于我的资源文件夹中并且加载正常,您可以通过我的网站源代码中的路径看到。

{{ 'jquery-latest.min.js' | asset_url | script_tag }}
{{ 'jquery.fancybox.css' | asset_url | stylesheet_tag }}
{{ 'jquery.fancybox.js' | asset_url | script_tag }}

我在做什么导致fancybox()无法被识别为函数?

1 个答案:

答案 0 :(得分:0)

您应该联系主题的作者,因为文件theme.min.js包含jQuery的修改副本。由于这是缩小版本,因此无法确定这里到底发生了什么(如果你想对该文件进行美化,你会发现window.$ = window.jQuery = $n并且$ n似乎是jQuery v3.1.0的扩展版本)

此外,您尝试包含实际包含v1.11.1的jquery-latest.min.js中的jQuery,但如果您在页面上运行jQuery.fn.jquery,则返回v3.1.0。因此,它会以某种方式被覆盖,我怀疑你的主题文件与此有关。