Magento Go-jQuery仅在产品详细信息页面上工作

Magento Go-jQuery仅在产品详细信息页面上工作,jquery,magento,Jquery,Magento,我向页脚静态块添加了一些自定义jQuery,如Magento Go网站上所述: (function($) { alert("lol"); })(jQuery); 这只适用于产品页面。在网站上的其他每一页上 jQuery is not defined [Break On This Error] })(jQuery); 来自萤火虫。有没有办法解决这个问题 您没有在所有页面上正确加载jQuery。这就是为什么会出现“jQuery未定义”错误 我对Magento Go不太熟悉,所以您需要找出

我向页脚静态块添加了一些自定义jQuery,如Magento Go网站上所述:

(function($) {
alert("lol");
})(jQuery);
这只适用于产品页面。在网站上的其他每一页上

jQuery is not defined
[Break On This Error]   

})(jQuery);

来自萤火虫。有没有办法解决这个问题

您没有在所有页面上正确加载jQuery。这就是为什么会出现“jQuery未定义”错误


我对Magento Go不太熟悉,所以您需要找出为什么产品页面包含脚本,而其他页面不包含脚本。在非托管解决方案中,这意味着编辑[layout].xml文件。不确定这是否对你有帮助。

我知道这是一个老问题,但鉴于没有得到回答,我想我会给出我的解决方案。这让人很沮丧

为了澄清这个问题,Magento Go使用了jQuery的基本版本。但是,它不会在每个页面上加载库。在我的例子中,它只加载在产品页面上。通过将代码添加到设计配置中的header部分,您可以添加自己的版本,并在noConflict()中运行它。但是,如果您只想在需要时加载jquery,只想在Magento Go尚未加载jquery的页面上加载jquery,下面介绍了如何做到这一点:

创建一个静态块,并输入以下代码:

最初在中找到的代码 修改 为了我的需要

//
然后创建一个前端应用程序,在所有页面上加载此块,并将其放入“页面底部”块引用中。我把它放在底部是为了给Magento Go一个加载脚本的机会,这可能不是必需的


如果jquery已经加载,它将只运行您的脚本。如果未加载jquery,加载完成后将加载jquery并执行脚本。

在引用jquery的产品页面上有不同的javascript,而在其他页面上没有。我想我得走了。
<script type="text/javascript">// <![CDATA[
/******** Load jQuery if not present *********/
if (typeof jQuery === "undefined") {
    var script_tag = document.createElement('script');
    script_tag.setAttribute("type","text/javascript");
    script_tag.setAttribute("src", "//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js")
    script_tag.onload = customJQ; 
    script_tag.onreadystatechange = function () { //Same thing but for IE
        if (this.readyState == 'complete' || this.readyState == 'loaded') customJQ();
    } //onreadystatechange.function
    document.getElementsByTagName("head")[0].appendChild(script_tag);
    } else {
        customJQ();
} //if.jQuery

function customJQ() {
    jQuery.noConflict();
    jQuery(document).ready(function($) {
        ... your query here ... 
    });
}
// ]]></script>