錯誤詳細信息,如下:
Uncaught ReferenceError: layer is not defined'
關鍵詞就是not defined 未定義,那么解決方案就是給它定義。
原來的問題代碼如下:
layer.confirm('確認要退出嗎?', { btn : [ '確定', '取消' ]//按鈕 }, function(index) { layer.close(index); //此處請求后台程序,下方是成功后的前台處理…… var index = layer.load(0,{shade: [0.7, '#393D49']}, {shadeClose: true}); //0代表加載的風格,支持0-2 delete_cookie("userId", "/"); window.location.href = "index.html"; });
這樣在我的博客首頁是可以生效的,不會出現未定義。但是當我將其抽象為一個函數的時候,其它地方就不行了。
通過聲明定義后,代碼就變成如下:
layui.use('layer',function () { layer.confirm('確認要退出嗎?', { btn : [ '確定', '取消' ]//按鈕 }, function(index) { layer.close(index); //此處請求后台程序,下方是成功后的前台處理…… var index = layer.load(0,{shade: [0.7, '#393D49']}, {shadeClose: true}); //0代表加載的風格,支持0-2 delete_cookie("userId", "/"); window.location.href = "index.html"; }); });
當時我在想引入layer.js來解決這個問題,但是仔細一看這並不是問題的關鍵所在。
解決問題,在於更好的理解問題,當然了,把握關鍵詞也是很重要的(事半功倍)。