我试图在tampermonkey中安装和使用sweetalert 2,但它说Swal在控制台中未定义。
我尝试使用@require和/* globals Swal */,但没有成功。enter image description here
// ==UserScript==
// @name Quizlet Explanations Get Answer
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://quizlet.com/explanations/questions/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=quizlet.com
// @require https://cdn.jsdelivr.net/npm/sweetalert2@11.6.16/dist/sweetalert2.all.min.js
// @grant none
// ==/UserScript==
/* global Swal */
window.onload = function() {
Swal.fire(
'Good job!',
'You clicked the button!',
'success'
);
}
2条答案
按热度按时间20jt8wwn1#
请注意GitHub上库源代码中的以下代码行:
有两种解决方案:
1.* * 使用
Sweetalert2
,它在任何情况下都由JavaScript文件公开。1.* * 通过将
// @unwrap
添加到标头来启用沙箱模式。当加载程序将脚本注入到页中时,脚本将驻留在沙箱中,如果@grant
为none
,则沙箱将被禁用。使用// @unwrap
,您可以实现所需的this
行为,并使用任何公开的swal
、sweetAlert
、Swal
、SweetAlert
个名称。r1zk6ea12#
将其链接到此URL,而不是https://cdn.jsdelivr.net/npm/sweetalert2@11
因此该行将如下所示:
那么你的脚本应该是这样的:
希望这能有所帮助!