【问题标题】:Yii`s jQuery.yii.js not loading firstYii 的 jQuery.yii.js 没有先加载
【发布时间】:2012-08-03 11:23:42
【问题描述】:

我正在使用 wmd 编辑器,它有自己的 js 文件,需要首先加载 jQuery,但是 Yii 框架有自己的 Jquery 库,该库注册在所有头部元素后加载的资产中,如果 Wmd 编辑器崩溃jQuery没有首先加载,所以我必须首先包含它,当页面加载时,jQuery.yii也会添加到所有头元素的末尾,简而言之,它被加载两次并在我的代码中产生冲突,这是我的文件在头中的样子

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="language" content="en" />
    <script type="text/javascript" src="/codepac/css/wmd/showdown.js"></script>
   <b> <script type="text/javascript" src="/codepac/css/wmd/jQuery/jquery-1.2.6.min.js "></script></b>
    <script type="text/javascript" src="/codepac/css/custom_js.js "></script>
    <script type="text/javascript" src="/codepac/css/prettify/src/prettify.js"></script>

在浏览器中,我可以找到另一个自动加载的 Jquery 副本,这些副本会自动加载到像这样的所有头部元素的末尾

<script type="text/javascript" src="/codepacu/assets/21a12630/jquery.js"></script>

我想知道是否有一种方法可以让我先加载它,或者根本不加载它并使用谷歌的 cdn 副本。

谢谢

【问题讨论】:

  • 嗯,&lt;b&gt; 标记在 &lt;head&gt; 中的作用是什么?
  • 我想突出显示造成冲突的文件

标签: jquery yii editor wmd prettify


【解决方案1】:

@Grampa 的回答只会帮助您从 Google 加载,但不会帮助您解决 WMD 问题。

看起来 WMD 使用的是非常旧的 jQuery 版本(1.2.6),而 Yii 使用的是 1.7.1。您将遇到各种冲突,并且没有任何好的解决方法。

this answer 关于在一个页面上包含多个版本的 jQuery,但您必须将其中一个更改为引用为 $$ 而不是 $。这意味着您可能不得不检查并更改 WMD 中的所有 jQuery 对象以使用 $$ 而不是 $,这充其量是不平凡的,如果 WMD 更新,那将是一场噩梦。

如果我是你,我会寻找一个更现代的所见即所得编辑器,它使用与 1.7.1 兼容的现代版本的 jQuery,并尝试集成它。

【讨论】:

    【解决方案2】:

    Yii 框架指南有一节专门介绍您要完成的工作。您可以查看here。 此外,您最好使用CClientScript::registerScriptFile() 方法将Wmd 包含在正文底部,该方法包括一个参数,用于指示应该包含脚本的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-10
      • 2014-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多