当我禁用调试栏(barryvdh / laravel-debugbar),或者我将APP_DEBUG=false
放入.env而不是APP_DEBUG=true
时,我的图片库(baguetteBox)脚本出错。< / p>
错误:
未捕获的ReferenceError:未在window.onload
中定义hljs
如果我没有禁用app_debug或debugbar,我不会错误,这没关系.. 如果我点击我的网站图片时出现此错误,则会出现错误并在页面上打开图片(在网址:http://127.0.0.1/website/images/image.png中),但如果启用了app_debug或者调试栏,则图片会在baguetteBox的“模态”中打开(正常)。
我的错误的屏幕截图: Uncaught ReferenceError: hljs is not defined at window.onload
答案 0 :(得分:0)
当DebugBar打开时,DebugBar加载库并定义hljs
。当DebugBar关闭时,hljs
未定义,因此脚本在hljs.initHighlighting();
之后中断。试试这个:
if ( typeof oldIE === 'undefined' && Object.keys && typeof hljs !== 'undefined') {
hljs.initHighlighting();
}
答案 1 :(得分:0)
您可以那样使用。
const hljs = require('highlight.js');
document.addEventListener('DOMContentLoaded', (event) => {
document.querySelectorAll('pre code').forEach((block) => {
hljs.highlightBlock(block);
});
});