2016-07-19 11:43:48 3687次浏览 5条回答 1 悬赏 10 金钱

1。这个问题困扰很久了,每次都以特殊处理规避掉问题。

可以看一下下面的引入顺序,引入了第二次jquery的时候yii的gridView就失效了。

QQ图片20160719103435.png

2。下面的这些js又依赖于jq 1.10.1 ,且Asset不引人jquery的话 这个Asset只能给带有gridview等插件的页面用,不然就会缺少jquery。这个就很纠结了,这些资源是用于共用页面的 然后受制于非公用页面有没有使用yii 内置的插件。目前能想的方案只能是 不用yii 内置的插件。有什么方式能解决这样的问题么?

最佳答案

  • 终身孤寂 发布于 2016-07-19 15:04 举报

    自带那个jqeury 我也遇到过冲突的情况,我是在配置里面把他注掉了,然后写不同的公共文件加载jquery等文件。

    1 条回复
    回复于 2016-07-19 15:08 回复

    因为gridview里边的插件貌似一次会尾部的最前端注册3个JS包括一个jq ,如果 jq 在配置让他不加载 ,那像我这样就会报错了,你的做法是在头部注册一个自己用的jq么?

  • 回答于 2016-07-19 14:04 举报

    找到gridview插件中引入js的资源包,把他注释掉就可以了

  • 回答于 2016-07-19 15:13 举报

    对,一般都是头部加jquery ,不然下面用它的方法岂不是会报错,我听你意思是gridview里面的插件总是在尾部的最前端注册? 其实加载位置都可以自己调整的,想把拿个JS 放到哪个位置就放到哪。

  • 回答于 2016-07-19 15:18 举报

    就算在底部写引入自己的jquery也是可以的

    $this->registerJs($this->blocks['page'], \yii\web\View::POS_HEAD);
    

    这个就是个例子,我在当然的view页面写的,把当前页面的代码放到头部。

  • 回答于 2016-07-25 11:07 举报

    上面都在扯什么乱七八糟的

    如果你想用自己的jquery,去除yii自带的JqueryAsset,需要去config/main.php中配置assetManager:

        'assetManager' => [
            'bundles' => [
                'yii\web\JqueryAsset' => [
                    'sourcePath' => null, // 屏蔽jqueryAsset
                    'js' => [
                    ],
                ],
                'yii\bootstrap\BootstrapAsset' => [
                    'css' => [],
                ],
            ],
        ],
    
    觉得很赞
您需要登录后才可以回答。登录 | 立即注册
37605
等待激活

37605

注册时间:2016-10-31
最后登录:1970-01-01
在线时长:0小时0分
  • 粉丝0
  • 金钱75
  • 威望0
  • 积分75

热门问题