侧边栏壁纸
  • 累计撰写 80 篇文章
  • 累计创建 41 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

Tampermonkey 油猴脚本引用 Layui 及错误问题解决

勤为径苦作舟
2024-05-13 / 0 评论 / 0 点赞 / 31 阅读 / 2088 字 / 正在检测是否收录...

简介

由于网站可能会存在内容安全策略(CSP)的限制,所以通过 GM_addStyleGM_getResourceText 加载 CSS 和字体文件。

layui-tampermonkey - npmlayui.js删除了layui.addcsslayui.css替换了layui-icon;src:url

// ==UserScript==
// 略……
// @resource css https://cdn.jsdelivr.net/npm/layui-tampermonkey@2.9.9-rc.3/css/layui.css
// @require      https://cdn.jsdelivr.net/npm/layui-tampermonkey@2.9.9-rc.3/layui.js
// @grant        GM_addStyle
// @grant        GM_getResourceText
// ==/UserScript==

(() => {
  'use strict'
  
    // 加载 CSS
  GM_addStyle(GM_getResourceText('css'))
  // layer 图标未知原因失效,手动添加样式
  $(document.head).append(`<style>
    .layui-layer-ico{background:url('https://cdn.bootcdn.net/ajax/libs/layer/3.5.1/theme/default/icon.png') no-repeat}
    .layui-layer-ico1{background-position:-30px 0}
    .layui-layer-ico2{background-position:-60px 0}
    .layui-layer-ico3{background-position:-90px 0}
    .layui-layer-ico4{background-position:-120px 0}
    .layui-layer-ico5{background-position:-150px 0}
    .layui-layer-ico6{background-position:-180px 0}
  </style>`)
})

问题

layui.table.render 方法配置渲染表格时报错 Laytpl Error: ReferenceError: layui is not defined

添加@grant unsafeWindow,并在table.render前调用unsafeWindow.layui = layui,猜测laytpl是个动态过程,需要在沙盒外调用layui

参考

0

评论区