添加一些自定義的jQuery頁腳靜態塊作爲在案Magento的圍棋網站:Magento的圍棋 - jQuery的僅適用於產品的詳細信息頁面
(function($) {
alert("lol");
})(jQuery);
而且產品頁面上這僅適用。在網站上的其他頁面上,我獲得了
jQuery is not defined
[Break On This Error]
})(jQuery);
來自Firebug。任何想法如何解決它?
添加一些自定義的jQuery頁腳靜態塊作爲在案Magento的圍棋網站:Magento的圍棋 - jQuery的僅適用於產品的詳細信息頁面
(function($) {
alert("lol");
})(jQuery);
而且產品頁面上這僅適用。在網站上的其他頁面上,我獲得了
jQuery is not defined
[Break On This Error]
})(jQuery);
來自Firebug。任何想法如何解決它?
您沒有在所有頁面上正確加載jQuery。這就是爲什麼你得到'jQuery未定義'的錯誤。
我對Magento Go並不熟悉 - 所以您需要找出產品頁面包含腳本的原因,但其他頁面不包含。在非託管解決方案中,這意味着要編輯[layout] .xml文件。不知道這是否對你有幫助。
我知道這是一個古老的問題,但看到因爲它沒有回答我想我會給我的解決方案。弄清楚這是令人沮喪的。
爲了澄清這個問題,Magento Go有一個基本版本的jQuery它使用。但是,它不會在每個頁面上加載庫。就我而言,它只在產品頁面上加載。您可以添加自己的版本,並在noConflict()中運行它,方法是將代碼添加到設計配置中的標題部分。然而,如果你只想在你需要的時候加載jquery,那麼只有在Magento Go沒有加載它的頁面上,你可以這樣做:
創建一個靜態塊,並放入以下代碼:
代碼最初發現於 http://forum.jquery.com/topic/loading-jquery-if-undefined和修改 我需要
<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>
然後創建一個加載在所有頁面此塊前端應用程序,並把它在「頁面底部」塊參考。爲了讓Magento Go有機會加載腳本,我把它放在了底部,這可能不是必需的。
如果jquery已經加載,它只會運行你的腳本。如果沒有加載,jquery將被加載,並且一旦加載完成後腳本就會執行。
它們在引用jQuery的產品頁面上有不同的javascript,而在其他頁面上則沒有。我想我必須沒有它。 – 2012-02-28 18:29:00