📜  节点 | GM缩略图()函数(1)

📅  最后修改于: 2023-12-03 15:11:49.140000             🧑  作者: Mango

节点 | GM缩略图()函数

GM缩略图()函数为油猴GM库内置的一个函数,用于生成缩略图。本文将带领大家深入了解这个函数,包括函数使用方法、函数参数及返回值等内容。

函数签名
GM_thumbnail(tab, max_width, max_height, callback);
参数说明
  • tab: 要缩略的标签页,一般使用document
  • max_width: 缩略图的最大宽度。
  • max_height: 缩略图的最大高度。
  • callback: 回调函数,用于接收生成的缩略图的data URL。
使用方法

在函数中,首先需要使用GM_info来获取当前脚本的元数据。因为在Safari上调用canvas.toDataURL()需要在用户操作中进行。因此,你需要将 GM_thumbnail() 函数嵌套在回调函数内。以下是函数的使用流程:

GM_thumbnail(document, maxWidth, maxHeight, function(thumbDataUrl) {
    // do something with thumbDataUrl
});
返回值

GM_thumbnail()函数将生成一个可以用作缩略图的data URL,并返回给回调函数处理。

示例

以下是一个完整的示例,用于生成当前页面的缩略图。

// ==UserScript==
// @name         Generate Thumbnail Example
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to generate a thumbnail with GM_thumbnail() function
// @author       Your name
// @match        *://*/*
// @grant        GM_thumbnail
// ==/UserScript==
(async function() {
    'use strict';
    const iconWidth = 128;
    const iconHeight = 128;
    GM_thumbnail(document, iconWidth, iconHeight, function(dataURL) {
        let html = '<img src="' + dataURL + '" width="' + iconWidth + '" height="' + iconHeight + '"><br>';
        document.body.insertAdjacentHTML('beforeend', html);
    });
})();

以上代码用于生成128x128像素的缩略图,并将其添加在当前页面的末尾。