今天在检查代码时发现控制台报错
经检查,是由于使用pjax加载某js文件,但在某些页面该js中的对象未定义的缘故
执行情况:
- 访问第一个页面—-正常
- 访问第二个页面—-若是文章页–>正常;若是其他页面–>控制台报错
由此基本确定是我增加的OwO表情面板的缘故,
思路及解决:
在其他页面是无需此js的,只有在有评论框的页面才需要,
也就是在加载OwO表情面板时评论框已加载,
所以,只需判断当前页面是否存在评论框,如果存在就加载OwO的js,否则不加载即可
另外,考虑到本站有加载JQ,所以直接用$.getScript加载js
//这个js语句在每次加载页面都要加载一次!! if(document.getElementById("comment")) {//判断是否存在id comment $.getScript('/assets/OwO/OwO.min.js');//使用JQ加载JS }
Over