应用版基于jQuery
,require.js
,html
,css
- 一些使用此应用的网站也有MooTools.js,这个框架与我的应用冲突,可以与jQuery结合使用。
当应用程序启动时,所有外部来源(如需要工作的脚本和CSS)都会进入主机网页的head标记和HTML <div id="widget"/>
。
以下注塑代码:
<script language="javascript" type="text/javascript" src="code.jquery.com/jquery-1.8.2.js"></script>
<link href="@(ConfigurationSettings.AppSettings["AppPathFE"] + "outside-ip/widget.css")" />
<script src="@(ConfigurationSettings.AppSettings["AppPathFE"] + "outside-ip/widget.js")"></script>
<div id="widget"></div>
<script>
$(function () {
WG.initialize({
urlFE: '@(ConfigurationSettings.AppSettings["AppPathFE"])',
urlBE: '@(ConfigurationSettings.AppSettings["AppPathBE"])',
theme: 'base',
lang: 'en-en',
cache: false,
logging: true,
talk: {
url: '@(ConfigurationSettings.AppSettings["AppTalk"])',
logging: true,
},
air: {
url: '@(ConfigurationSettings.AppSettings["AppAir"])',
logging: true,
},
});
});
</script>
答案 0 :(得分:3)
您需要使用jQuery
代替$
。
MooTools使用$
作为document.id
的别名,基本上是document.getElementById
但是具有MooTools权限。
因此,如果您将代码更改为此,则应该是安全的:
(您当然也要将脚本文件中的所有$
更改为jQuery
):
jQuery(function () {
WG.initialize({
而不是
$(function () {
WG.initialize({
您也可以在脚本代码中将(function($){ code here })(jQuery);
中的所有代码包裹起来。因此,如果您的脚本将WG
导出到全局空间,您可以:
var WG;
(function($){
// all script code here, removing the var declaration inside the wrap function
})(jQuery);
或只是脚本内的window.WG
。