lbmzorx 2017-12-25 13:01:20 2661次浏览 0条评论 1 0 0

有时候希望直接在视图文件中写入js
可用视图方法registerJs,直接在视图中写

<?=$this->registerJs(<<<SCRIPT
    console.log("你的js");
SCRITP
)?>

页面加载,查看原代码

</script><script src="/assets/a6b7dc25/jquery.js"></script>
<script type="text/javascript">jQuery(document).ready(function () {
console.log("你的js")
});</script></body>
</html>

可见页面已经加载了自定义的js,但是却多了,有时候并不需要框架提供的jquery.js版本,怎样去掉?

查看类参考手册 registerJs有三个参数第一个为js代码块第二个为位置第三个为js块的键值位置有这几种

registerJs ( $js, $position = self::POS_READY, $key = null )
POS_HEAD: js放头部POS_BEGIN: 在body区域的最开始位置
POS_END: 在body区的最后位置
POS_LOAD: 放在 jQuery(window).load()里面还会自动注册jQuery    
POS_READY: 默认情况放在 jQuery(window).ready()里面还会自动注册jQuery

因此,不加位置是会加载默认的jquery文件的,因此指定位置即可:

<?=$this->registerJs(<<<SCRIPT
    console.log("你的js");
SCRITP
,\yii\web\View::POS_END)?>

再次刷新页面,可以看到页面已经不再自动发布框架的jquery

</script><script type="text/javascript">console.log("你的js")</script></body>
    没有找到数据。
您需要登录后才可以评论。登录 | 立即注册