上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

GM_notification buttons 编写问题

[复制链接]
  • TA的每日心情
    奋斗
    2024-5-29 00:06
  • 签到天数: 187 天

    [LV.7]常住居民III

    23

    主题

    33

    回帖

    223

    积分

    荣誉开发者

    积分
    223

    新人报道油中2周年荣誉开发者

    发表于 2024-3-14 21:09:55 | 显示全部楼层 | 阅读模式
    悬赏20油猫币已解决

    本帖最后由 zip11 于 2024-3-15 11:03 编辑

    https://docs.scriptcat.org/docs/dev/api/

    参照 api编写,的GM_notification buttons ,但是没有显示 button

    ,我使用的是chrome游览器,测试 GM_notification 进度条功能 也是正常的

    // ==UserScript==
    // @name         通知按钮示例
    // @namespace    scriptcat_namespace
    // @version      0.1
    // @description  创建一个含有按钮的通知
    // @author       Your Name
    // @match        *://*/*
    // @grant        GM_notification
    // ==/UserScript==
    
    (function() {
        'use strict';
    
        // 调用 GM_notification 创建一个通知,并添加按钮
        GM_notification({
            title: '示例通知',
            text: '这是一个带按钮的通知',
            image: '您的图标链接', // 可选:通知中显示的图片
            highlight: true, // 可选:在显示通知时突出显示网页
            silent: false, // 可选:是否以静音方式显示通知
            timeout: 5000, // 可选:通知显示的时间,设置为 0 则不会自动关闭
            onclick: function() { // 当通知点击时执行的函数
                console.log('通知被点击了!');
            },
            ondone: function(clicked) { // 当通知关闭时执行的函数
                if (clicked) {
                    console.log('通知被用户点击关闭');
                } else {
                    console.log('通知自动关闭');
                }
            },
            buttons: [
                {
                    title: '按钮1', // 按钮的标题
                    iconUrl: '按钮1的图标链接', // 按钮图标的链接
                    onclick: function() { // 按钮点击时执行的函数
                        console.log('按钮1被点击了!');
                    }
                },
                {
                    title: '按钮2',
                    iconUrl: '按钮2的图标链接',
                    onclick: function() {
                        console.log('按钮2被点击了!');
                    }
                }
            ]
        });
    })();
    

    参照回答,重新写了个例子,可以弹出 按钮 通知

    
    
    // ==UserScript==
    // @name        GM_notification创建带有按钮的通知示例
    // @namespace   scriptcat
    // @description 使用GM_notification创建带有按钮的通知示例
    // @include     *
    // @grant       GM_notification
    // @grant       GM_openInTab
    // @grant       GM_closeNotification
    // @version     1
    // ==/UserScript==
    
    // 定义通知按钮点击的回调函数
    function onButtonClicked(notifId, buttonIndex, games) {
    
      if (buttonIndex === 1) {
        // 如果点击的是第二个按钮("马上去白嫖"),则打开所有游戏的链接
        for (let key in games) {
          GM_openInTab(games[key].url);
        }
      }
      // 关闭通知
      GM_closeNotification(notifId);
    }
    
    // 模拟获取今日可白嫖的游戏列表
    function checkForFreeGames() {
    
      // 这里应该有一个实际检查游戏的代码
      // 下面是模拟的游戏数据
      let games = {
        game1: { title: "游戏1", url: "http://game1.com" },
        game2: { title: "游戏2", url: "http://game2.com" },
      };
    
      // 模拟消息
      let msg = "今天有以下游戏可以白嫖: " + Object.values(games).map(game => game.title).join(", ");
    
      // 调用GM_notification创建通知
      GM_notification({
        title: "今日白嫖名单",       // 通知标题
        text: msg,                  // 通知文本内容
        buttons: [{                 // 定义两个按钮
          title: "我知道了",          // 第一个按钮文本
        }, {
          title: "马上去白嫖",         // 第二个按钮文本
        }],
    
        onclick: function(id, btn) {
          onButtonClicked(id, btn, games);  // 当按钮被点击时的处理逻辑
        },
        timeout: 10 * 1000,          // 通知存在时间,单位毫秒
    
        ondone: function(click, id) {
          if (!click) {
            // 如果通知超时关闭,没有发生点击,则执行的逻辑
            console.log('通知已自动关闭');
          }
        }
      });
    
    }
    
    // 执行检查白嫖游戏的函数
    checkForFreeGames();

    最佳答案

    查看完整内容

    已经忘记了。。。。我现在换了Mac,好像也不支持了 哥哥看看这个脚本:104行 https://scriptcat.org/zh-CN/script-show-page/77/code
  • TA的每日心情
    开心
    前天 13:37
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4196

    回帖

    4061

    积分

    管理员

    积分
    4061

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-3-14 21:09:56 | 显示全部楼层
    已经忘记了。。。。我现在换了Mac,好像也不支持了

    哥哥看看这个脚本:104行

    https://scriptcat.org/zh-CN/script-show-page/77/code
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表