Yii2.0 js函数未定义
来源:互联网 发布:putty远程复制windows 编辑:程序博客网 时间:2024/05/29 18:51
最近在使用Yii2.0框架开发,为了提高开发效率直接使用了一套Yii2.0的后台模板。调试js时,发现js里写的函数都找不到,仔细排查之后发现了问题在于Yii2框架代码块的问题。
Yii2的代码里js被包在一个Block里,如下所示:
<script><?php $this->beginBlock('js_end') ?>//js代码<?php $this->endBlock() ?></script><?php $this->registerJs($this->blocks['js_end'], yii\web\View::POS_LOAD) ?>
这段代码的意思是把script标签中的js代码看成是一个以js_end为名的js文件,在页面中加载进来。那么为什么会报错js未定义呢?是registerJs函数的第二个参数起了作用,它决定了这段js代码的加载顺序。
registerJs的第二个参数可以是以下:
POS_HEAD:head结束标签之前POS_BEGIN:body开始标签之后POS_END:body结束标签之前POS_READY:页面加载完成之后
原来是我们在页面加载完成之后才加载js,Block内的函数就成了window.onload里的函数,作用域在此局部,外部无法获取。因此我们需要将其放到全局作用域中。
我使用了比较简单粗暴的方法,直接将定义Block及注册js的语句删掉即可。
谢谢你长得这么好看,还这么耐心地看到这。
阅读全文
0 0
- Yii2.0 js函数未定义
- IE6 下js中函数未定义
- 未结束的常量字符串、函数未定义、××未定义、js中文乱码等js错误
- JS未定义 Ajax未定义 XX未定义 IIS6.0和调试正常,IIS7异常
- js父级函数调用子函数出现函数未定义问题
- js 判断未定义
- js变量未定义问题
- JS未定义控件
- 函数未定义错误排查
- malloc函数未定义
- yii2.0自定义全局工具函数
- yii2.0 mysql 函数的使用
- Yii2.0数据操作【使用createCommand()函数】
- javascript通过ajaxpro 调用后台C#函数,js报错 ‘XXX’ 未定义
- 页面引入JS文件IE6报错 XX函数未定义 对象为空
- js判断变量是否未定义
- 注册yii2 js文件
- Yii2注册js文件
- 2017.9.28开学第五周周中训练总结
- Java后台框架篇--Struts2.0简单使用
- 常见算法基础题思路简析(一)-排序篇
- 用折半查找法在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.
- 1026. 程序运行时间(15)
- Yii2.0 js函数未定义
- Java中利用String类进行文本处理
- cygwin里面设置vi格式
- 总结
- 笔记本VMware下安装ubuntu 16.04窗口显示不全的问题
- 创建动态链接库
- VMware Workstation 14永久激活密钥
- Power-of-four-----LeetCode上发现的一道很搞笑并且有意思的简单题!!
- [Usaco2008 Feb]Eating Together麻烦的聚餐