如何在 Greasemonkey 脚本中模拟按键?

2024-04-22

我在网上找到了很多关于如何使用的信息initEvent and dispatchEvent功能 https://developer.mozilla.org/en-US/docs/DOM/element.dispatchEvent,但我一生都无法让它们在实践中发挥作用。

I'm trying to get a script to press the Enter key every 5 seconds. My userscript code (minus irrelevant metadata) is below:

// ==UserScript==
// @namespace      http://userscripts.org/scripts/show/153134
// @require        https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js
//
// @grant          unsafeWindow
//
// ==/UserScript==

$(function(){
window.setInterval(function(){
    var ev = document.createEvent("KeyboardEvent");
    ev.initKeyEvent("keypress", true, false, window, 0, 0, 0, 0, 13, 13);
        window.dispatchEvent(evt);
}, 5000);
});

在用户脚本上检查我的脚本,看看它的工作效果有多差(添加一个用户包含域并在任何<textarea>)。是 Greasemonkey 不让其通过,还是我需要做一些不同的事情?


该代码中存在复制粘贴错误。
不要使用window.dispatchEvent(evt);;
use window.dispatchEvent(ev);

将事件发送至window可能也不是您所需要的。 (或者也可能是。链接到目标页面。)

也许将事件发送到文档:

document.body.dispatchEvent(ev);

或者将其发送到特定节点:

var targetNode  = document.querySelector ("#content textarea"); // Etc.
targetNode.dispatchEvent (ev);


或者,由于您使用的是 jQuery:

var ev = $.Event('keypress');
ev.which = 13; // Carriage-return (Enter)
$('body').trigger(ev);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Greasemonkey 脚本中模拟按键? 的相关文章

  • 从 thymeleaf 获取数据到模态引导程序、jquery

    我正在尝试获取模态视图的 id 这是为了更新 onclick 元素 但我找不到方法 知道如何为 boostrap 5 完成此操作 或我可以用其他方法吗 谢谢 tr a inactivate a div class modal fade mo
  • 如何检测浏览器是否支持自定义元素

    我正在查看 Modernizr 它应该有助于功能检测 这应该可以帮助确定您的网站是否与给定的 Web 浏览器兼容 但我没有看到任何表明我可以使用它来检测自定义 HTML 的内容我们在内容中创建和定义的元素 如果不是 Modernizr 我如
  • 关闭选项卡时要求确认[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我在某些浏览器上关闭页面时 我希望出现一个消息框 并询问我是否真的要关闭页面 有两个按钮 如果我单击No那么这个标签就不会被关闭 我怎样
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • 从数据 URI 解码 QR 码

    我尝试从数据 uri 中解码二维码 var dataUri data image gif base64 R0lGODdh9gD2AIAAAAAAAP ywAAAAA9gD2AAAC decodeQrCode dataUri cb 我已经尝试
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 音频 blob 的 URL.createObjectURL 在 Firefox 中给出 TypeError

    我正在尝试从创建的音频 blob 创建对象 URLgetUserMedia 该代码在 Chrome 中可以运行 但在 Firefox 中存在问题 错误 当我打电话时stopAudioRecorder 它停在audio player src
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 为 illustrator 导出脚本以保存为 web jpg

    任何人都可以帮我为 illustrator CC2017 编写一个脚本 将文件以 JPG 格式导出到网络 旧版 然后保存文件并关闭 我有 700 个文件 每个文件有 2 个画板 单击 文件 gt 导出 gt 另存为 Web 旧版 然后右键文
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • 条件在反应本机生产中失败,但在开发中有效

    我创建了一个反应本机应用程序 我需要通过它进行比较 如果属实 就会执行死刑 问题是 该条件适用于 React Native 开发模式 而不适用于 React Native 生产版本 我使用 firebase 作为数据库 也使用 redux
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win

随机推荐

  • 为什么 C# 编译器对 double IEnumerable 和 foreach T 感到满意?

    我知道这段代码不起作用 并且以有效的方式编写它没有问题 我想知道编译器如何构建而不出现任何错误 如果您在哪里运行它 您会遇到运行时错误吗 假设数据不为空 using System using System Collections Gener
  • 是否有可能将一个 HMap '转换' 为另一个 HMap

    如果我有一个无形的 https github com milessabin shapeless HMap MappingA 为类型正确定义隐式MappingA K V 我可以安全地将其转换 映射到HMap MappingB class Ma
  • MediaRecorder.AudioSource.VOICE_CALL 不适用于 Android 4.1.2 中的通话录音

    https github com esnyder callrecorder https github com esnyder callrecorder我已应用此源代码来执行通话录音 但它不是录音通话 双向录音 经过大量搜索后 我发现 And
  • 在 C# 中通过 TCP 发送 C 结构体

    我正在编写一个程序 通过 TCP 与一台设备的管理界面进行交互 问题是 设备的文档是用C写的 而我写的程序是用C 写的 我的问题是 文档指定 通信基于基于C结构的API缓冲区 再多的谷歌搜索似乎也无法让我找到这个 API 或如何通过 TCP
  • 重写纯虚函数时使用“override”有什么意义吗?

    例如 class Base virtual void my function 0 class Derived Base void my function override 从我读到的来看 override关键字用于确保我们在重写的函数中具有
  • jQuery Mobile 将下一个输入集中在按键上

    我有一个 jquery 移动网站 其 html 表单由 4 个引脚输入框组成 我希望用户能够在每个输入字段中输入 pin 而不必按 iphone 键盘的 下一步 按钮 我尝试了以下操作 虽然它似乎将焦点设置到第二个输入并插入值 但键盘消失了
  • 在 C# 中重新抛出异常的正确方法是什么? [复制]

    这个问题在这里已经有答案了 这样做是否更好 try catch Exception ex throw Or this try catch Exception ex throw ex 他们做同样的事情吗 这个比那个好吗 您应该始终使用以下语法
  • 如何使用 PHP 发送带有内嵌附加图像的 HTML 电子邮件

    我有一个 PHP 脚本 它发送一封带有附加图像的 HTML 电子邮件 它工作得很好 但是 我无法让附件显示在 img 电子邮件正文中的标签 附件文件名为postcard png服务器上的原始文件名是4e60348f83f2f png 我尝试
  • 在 Python 中生成、填充和绘制六角形晶格

    我想修改我的在方晶格 它是基于代理的生物学模型 上运行的Python脚本 以在六边形宇宙中工作 这就是我在方形模型中创建和初始化二维矩阵的方法 基本上 N 是晶格的大小 R 给出了我需要在算法开始时更改值的矩阵部分的半径 a np zero
  • ws2_32.lib 与 libws2_32.a,有什么区别以及如何将 libws2_32 链接到 NB 项目?

    我使用 NetBeans Windows 和 Cygwin 以及 g 编译器 我正在研究 Windows Sockets 2 我所做的一切都是用 MS 编写的manual http msdn microsoft com en us libr
  • 如何在Google表格中提取多个大写字母的姓名?

    我正在尝试提取数据集的联系人姓名 但是 这些姓名被编译在一个单元格中 而不是按名字 中间名 姓氏 电子邮件等分割 我只需要获取他们的名字 因为我已经有一个仅包含他们的电子邮件的数据集 而不是他们的名字 如何提取多个区分大小写的单词并将其拆分
  • 如何在 jquery.load 过程中添加 jquery load.gif?

    我想用用jQuery load 加载一些内容 如何在加载过程中添加微调器 content load b php abc 假设您的页面上有一个隐藏的微调器 img src spinner gif alt loading style displ
  • Scala 无法推断

    我有一个非常简单的 Spark 代码片段 它在 Scala 2 11 上运行 并在 2 12 后停止编译 import spark implicits val ds Seq val toDF col1 ds foreachPartition
  • VS 2017 RC:我无法更新 Nuget 中的 NETStandard.Library

    从上次 或者可能是最后两次 更新开始 我无法更新 Nuget 中的 NETStandartLibrary 包 我刚刚创建一个新的标准库项目 请参阅此消息 在项目的属性中 版本不同 在 csproj 中
  • 我们如何使用 Angular 按时间戳数据类型对 Firebase Firestore 数据进行排序?

    我有票务发布 Web 应用程序 并且我只会显示那些有效且 24 小时内记录的票证 从现在开始 我在用Firebase 云 Firestore with 角7 getTicketList this ticketData this fireSt
  • UTF-8 可以包含零字节吗?

    UTF 8 字符串可以包含零字节吗 我要通过 ascii 明文协议发送它 我应该使用诸如 base64 之类的东西对其进行编码吗 是的 UTF8 中的零字节是代码点 0 NUL 有no将使用 UTF8 编码的其他 Unicode 代码点 其
  • 在 iPhone 上以编程方式接听来电

    我们如何在 iPhone 上使用 Objective C 以编程方式接听来电 你不能 您甚至没有收到通知或任何有来电的通知 您所能做的就是要求 iPhonemake一个电话 通过tel URI 方案 但您甚至不知道电话是否确实拨打了该号码
  • 如何用 C 生成 HTTP Content-Type 标头?

    所以我正在做一项网络任务 用 C 语言生成一个基本的 HTTP 1 0 Web 服务器 我已经弄清楚了大部分内容 但要求之一是它正确填充标头中的 Content Type 字段 并且我似乎找不到任何方法来自动执行此操作 我已经在使用 fst
  • cmd dir /b/s 加日期

    我正在 Windows XP 中寻找 cmd shell 命令 例如 dir b s 其中包含结果中每个文件的日期和时间值 所有数据 路径 文件名和日期 时间 都需要位于一行上 任何人都可以提供命令来完成此任务吗 谢谢 如果您只想要文件 f
  • 如何在 Greasemonkey 脚本中模拟按键?

    我在网上找到了很多关于如何使用的信息initEvent and dispatchEvent功能 https developer mozilla org en US docs DOM element dispatchEvent 但我一生都无法