【发布时间】:2015-05-25 15:31:29
【问题描述】:
我使用 jquery v1.8 作为我的模板,并且我使用的是 Mura 6.1 版,当我尝试加载任何页面时出现上述错误,它发生在这一行 $.extend(window,mura);
很明显,$ 无法使用,但我不知道我应该怎么做才能防止这种情况发生,因为这段代码是由 mura 在每个页面中动态添加到脚本标签中的,并且是不是一些我可以通过在 jQuery 之后加载来调整的库文件。
详细代码如下includes/display_objects/html_head/global.cfm
var mura={
loginURL:"#variables.loginURL#",
siteid:"#variables.$.event('siteID')#",
siteID:"#variables.$.event('siteID')#",
context:"#variables.$.globalConfig('context')#",
jslib:"#variables.$.getJsLib()#",
assetpath:"#variables.$.siteConfig('assetPath')#",
themepath:"#variables.$.siteConfig('themeAssetPath')#",
htmlEditorType:"#variables.$.globalConfig('htmlEditorType')#",
rb:"#lcase(listFirst(variables.$.siteConfig('JavaLocale'),"_"))#",
#variables.$.siteConfig('JSDateKeyObjInc')#
}
$.extend(window,mura);
我不希望做任何更改,例如用 jQuery 替换 $,因为如果自定义 mura 核心文件并且升级时不会保留更改。我尝试用jQuery 替换$ 并且它有效但是有没有办法我可以通过自定义我的模板文件或自定义js 文件来避免jQuery 冲突所以我不必担心如果我升级会发生什么Mura 和那些核心文件会被覆盖。
【问题讨论】:
-
您是否在尝试使用它的文件之前加载 jQuery?
-
是的,这正是正在发生的事情,但问题是 Mura 在
<head>标签结束之前和末尾添加了该文件代码。现在还有其他文件正在由 mura 恰好在$.extend代码之前呈现,即global.min.js如果我尝试在$.extend代码之后加载jquery.js,则jQuery是未定义的。