Tampermonkey脚本添加文件选择按钮不显示问题求助
Tampermonkey脚本按钮不显示的问题修复
你的脚本存在两个核心问题,导致按钮完全没在页面上出现:
- 只定义了
importData函数,但既没有调用它,也没有创建任何可见的按钮DOM元素 - 整个自执行函数里只是包裹了函数定义,没有执行任何生成UI、把按钮添加到页面的逻辑
下面是修正后的完整脚本,会创建一个可见的"导入数据"按钮并添加到页面顶部:
// ==UserScript== // @name Test Tampermonkey Script // @version 0.1 // @description Test // @author Me // @match https://test.com/* // @grant GM_xmlhttpRequest // @grant GM_info // ==/UserScript== (function() { 'use strict'; function importData() { let input = document.createElement('input'); input.type = 'file'; input.onchange = _ => { // 处理选中的文件 let files = Array.from(input.files); console.log(files); }; input.click(); } // 创建可见的按钮元素 const importBtn = document.createElement('button'); importBtn.textContent = '导入数据'; importBtn.style.padding = '8px 16px'; importBtn.style.margin = '10px'; importBtn.style.cursor = 'pointer'; // 绑定点击事件到importData函数 importBtn.addEventListener('click', importData); // 把按钮添加到页面body顶部 document.body.prepend(importBtn); })();
关键修改说明:
- 添加了按钮DOM元素的创建逻辑,设置按钮文本和基础样式
- 通过
addEventListener把按钮的点击事件和importData函数绑定 - 用
document.body.prepend()将按钮添加到页面的body最顶部(你可以根据需求改成插入到页面的指定容器中)
内容的提问来源于stack exchange,提问作者JoeCastro
相关产品推荐
相关产品推荐

