覆盖 google.com 匿名函数的一部分

2024-01-14

如果一个 javascript 函数是匿名声明的,有什么方法可以覆盖它或它的一部分吗?

我试图阻止 google.com 的即时搜索劫持向上和向下箭头键以在您的搜索排名中移动。我已经确定了我认为有问题的代码部分。键码 38 和 40 用于向下和向上键。

if (b == 40) aa(f);
else if (b == 38) aa(j);
else if (b == 37 || b == 39) if (!ca(b == 39)) return f;
a.preventDefault && a.preventDefault();
return a.returnValue = j

问题是,这是一个名为 Sb = function (a) {} 的函数的一部分,该函数位于大约三千行匿名函数内。 SO 上也有类似的问题here https://stackoverflow.com/questions/1970950/how-can-i-override-an-anonymous-javascript-function-attached-to-an-eventlistener作者最终以一种不适合我的方式进行锻炼。我意识到我可以关闭即时搜索,但我喜欢它,我只是无法忍受我的箭头键不再起作用。

解决方案:

我最终写了一个镀铬扩展 https://chrome.google.com/webstore/detail/cpfjfgadpcidnjfbpmjfgdoafdeimckd将上/下箭头键功能恢复为滚动。我使用了以下代码。感谢 Raze 和 Mofle。

if (event.keyCode == 40 || event.keyCode == 38)  {
    event.cancelBubble = true;
    event.stopPropagation();            
    return false;
}

您不能在另一个匿名函数中覆盖另一个匿名函数。您无法更改任何现有函数的部分,您必须创建一个新函数并将其附加到需要的位置,尽管您可以获取函数的源代码,对其进行操作并从源代码中创建一个新函数。

我在这里对这个问题有两个建议,其中不涉及重新定义函数。

  1. 在捕获阶段为输入文本框添加事件监听,如果keyCode为UP或DOWN则取消该事件
  2. 创建一个您实际输入文本的覆盖文本框,并将除向上键和向下键之外的所有事件传递到下面的实际文本框。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

覆盖 google.com 匿名函数的一部分 的相关文章

  • 如何使用 HTML 5 实现类似 gmail 的文件上传/附件

    我记得一些支持 Ajax 之类的选项 无回发世界 文件上传 隐藏的 iframe 使用 flash 对象 尽管我仍然好奇为什么使用 SWF 以及它提供什么优势 然而 通过查看博客 HTML 5 似乎很有前途 我尝试了一些小示例 它确实有效
  • 为什么我的反应路由器链接将我带到页面中间?

    我的网站上有很多链接 但只有一个可以执行此操作 它没有将我带到导航栏的顶部 而是转到内容的中间 知道为什么会这样吗 这是一个页面 其中有一个 map经历一些JSON 这是渲染div页面下方的文本元素 如果重要的话 这是一些可能相关的代码 路
  • Angular 4 过滤器搜索自定义管道

    所以我试图构建一个自定义管道来在 ngFor 循环中执行多个值的搜索过滤器 我花了几个小时寻找一个好的工作示例 其中大多数都是基于以前的版本 并且似乎不起作用 所以我正在构建管道并使用控制台为我提供值 但是 我似乎无法显示输入文本 以下是我
  • 如果没有“new”,则无法调用类构造函数

    感谢这个问题已经被问过几次了 但是我遇到的几乎所有情况都是有人试图扩展非本地类的情况 我的情况有所不同 我有一个非常简单的基类 名为CObject如下 export class CObject extends BaseObject cons
  • Mapbox GL 中的 MaxBounds 和自定义非对称填充

    我有一个 Mapbox GL JS 应用程序 在地图上显示一些小部件 为了确保地图上的任何内容都不会被它们隐藏 我使用以下命令添加了一些填充map setPadding 这是一个不对称的 在我的例子中左边比右边大 它按预期工作 例如fitB
  • 如何立即启动setInterval循环? [复制]

    这个问题在这里已经有答案了 在一个简单的setInterval setInterval function Do something every 9 seconds 9000 第一个动作将在 9 秒后发生 t 9s 如何强制循环立即执行第一个
  • 在javascript中访问函数内的实例变量?

    如何以最简单的方式访问函数内的实例变量 function MyObject Instance variables this handler Methods this enableHandler function var button doc
  • jQuery输入文件点击方法和IE上拒绝访问

    我尝试仅使用一个按钮作为输入文件 它在 Firefox Chrome Safari 中工作正常 但在 IE 中不行 提交表单时我总是收到 访问被拒绝 的消息 代码 input file click 有真正的解决方法吗 我在谷歌上浪费了大约2
  • JS 保留以零结尾的小数[重复]

    这个问题在这里已经有答案了 在JavaScript中 是否可以 锁定 十进制数 以保留以零结尾的 浮点数 例如 我有 2 个不同的数字 如下所示 伪代码 let a 1 0 let b 1 00 a b true should be fal
  • 为什么这行带有“await”的代码会触发微任务队列处理?

    以下引用是我理解微任务队列处理的主要参考 当 JS 堆栈清空时 就会处理微任务 承诺使用 杰克 阿奇博尔德 https twitter com jaffathecake status 954653170986311680 这对我来说没有意义
  • 检索 css3 缩放元素的宽度/高度

    我正在与 offsetWidth 属性的奇怪之处 我认为 作斗争 这是场景 比方说 我有一个span标签 在我的js中 在某个时刻我执行css3转换 对于这个元素 例如 el set styles transform scale scale
  • 全局传递 xhr onload 函数的值

    在我正在创建的应用程序中 我有以下 XMLHttpRequest 并且我正在尝试传递结果data在 的里面xhr onload 到在同一父函数中创建的数组中 var url http api soundcloud com resolve j
  • 如何将 Vue.js 作用域样式应用于通过视图路由器加载的组件?

    如何将 Vue js 作用域样式应用于通过以下方式加载的组件
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • Javascript 浮点乘以 100 仍然有错误

    我有一个货币字段的文本输入 我在字段中输入 33 91 并在尝试使用 乘以 100 技术时得到以下结果 var curWth parseInt trans withdraw index val 100 3390 var curWth par
  • 如何重复 ajax 请求,直到满足 RxJS Observable 的条件?

    我正在尝试重复请求 直到响应包含使用 RxJS 的数据 此时我想调用成功 或失败 处理程序 但我在使用 RxJS 时遇到了麻烦 这是我目前的方法 redux observable action observable mergeMap gt
  • Service Worker 与 Shared Worker

    Service Worker 和 Shared Worker 有什么区别 我什么时候应该使用 Service Worker 而不是 Shared Worker 反之亦然 Service Worker 具有共享 Worker 之外的附加功能
  • PDF 在 Safari 中隐藏 Jquery Modal

    这是与我有关的事情this https stackoverflow com questions 24052681 pdf hide jquery modal in ie问题 在 IE 中 我在对话框中使用 iframe 解决了问题 所以它工
  • ThreeJS 中阴影的奇怪行为

    所以我有一个 ThreeJS 场景 并且添加了一些球体 多材质 我还添加了定向光 this light new THREE DirectionalLight 0xFFFFFF 1 this light position set 2 10 2
  • 将多维数组转换为单数组(Javascript)

    我有一个对象数组 来自 XLSX js 解析器 因此其长度和内容各不相同 表示已给予项目的资助 简化后 它看起来像这样 var grants id p 1 location loc 1 type A funds 5000 id p 2 lo

随机推荐

  • 如何找到我自己的 Facebook ID? (不是应用程序范围的 ID)

    我以前可以访问我的 Facebook 个人资料页面https www facebook com https www facebook com 用户名 并将 www 替换为 graph https graph facebook com htt
  • Swift 中的 CocoaLumberjack,如何打印行号和文件名称

    我是 CocoaLumberjack 的新手 我让它在 Swift 上工作如下this https github com CocoaLumberjack CocoaLumberjack issues 405 如果我尝试打印日志 DDLogD
  • POM 中的多个依赖范围

    我的 POM 中有一个依赖项 需要将其设置为 提供 因此它不会包含在编译中 但仍然可以在我的项目中引用 当我去运行测试时 我希望相同的依赖项具有 测试 范围 这样我就不必手动将 jar 添加到我的类路径中 有没有办法做到这一点或达到类似的结
  • 在 lm lapply 调用列表中使用权重参数[重复]

    这个问题在这里已经有答案了 这是我的问题 为了可重现而虚构的数据 set seed 42 df lt data frame x rnorm 1000 y rnorm 1000 z rnorm 1000 df2 lt data frame x
  • CMake 和处理子文件夹头文件

    我正在尝试设置我的项目来构建几个包含其完整功能的动态库 每个库都有子文件夹 子文件夹库相互依赖 因此它们必须相互引用函数 我似乎已经成功地让 CMake 在项目上运行而没有错误 但是当我去构建时 我的标头无法找到彼此 似乎在构建时 包含路径
  • 带 Flux 的错误处理程序

    我有一个 React js 应用程序 正在重构它以使用 Flux 架构 并且正在努力弄清楚错误处理在坚持 Flux 模式的同时应该如何工作 目前 当遇到错误时 会触发 jQuery 事件 AppError 并且订阅此事件的通用错误处理助手会
  • 在同一图中绘制不同颜色的波[重复]

    这个问题在这里已经有答案了 如何在 matlab 中绘制具有不同颜色的波 由 1 x N 矩阵表示 可以手动提供特定颜色的范围 有关预期输出 请参见下图 这是一个简单的选项 x linspace 4 pi 4 pi 10000 some d
  • 连接两个邻接矩阵并保留值

    下列的这个问题 https stackoverflow com questions 46295687 r how to make 2 adjacency matrices compatible to eachother 是否可以连接两个邻接
  • Python 2.7,PIP:“构建轮子失败......”

    第一次使用pip 尝试使用python docs samples 教程库 https github com GoogleCloudPlatform python docs samples 当我运行 python m pip install
  • UIView-Encapsulated-Layout 与 UIViewController 中的 UICollectionView 嵌入视图中

    由于某种原因 在嵌入的视图控制器内使用集合视图会在集合视图约束上引发 UIView Encapsulated Layout 我无法设置高度或顶部 底部边距 关于为什么会发生这种情况有什么想法吗 我一直在通过故事板添加约束 我什至尝试以编程方
  • 如何在 div 中间对齐旋转文本

    我想将旋转文本垂直对齐在 100 高度 div 的中间 如下图所示 因此 每当屏幕尺寸发生变化时 文本都会保留在 div 的中间 有人有解决方案吗 http jsfiddle net SVkPU 1 http jsfiddle net SV
  • 检查 Excel 中的组合?

    我有两道多项选择题 有 9 种可能的选择 总共有 20 种答案组合 每个组合都被分配一个值 在 Excel 中 我需要检查不同组合的答案并告诉我该组合的值 这怎么可能 我需要使用什么公式 问答示例 可能的答案 这是我尝试过的方法 它有效 但
  • 如何加快file_get_contents的速度?

    这是我的代码 language GET soundtype word GET sound word urlencode word if language english url
  • 使用 Ransack gem 进行复选框搜索

    我需要过滤表中的数据 为此 我发现元搜索 https github com ernie meta search宝石 我安装了 meta search 并收到此错误 uninitialized constantActiveRecord Ass
  • PHP - SimpleXML - AddChild 与另一个 SimpleXMLElement

    我正在尝试构建一个相当复杂的 XML 文档 我的 XML 文档中有很多重复的部分 我想我应该使用多个字符串模板作为这些部分的基础文档 并使用 simplexml load string 创建 XML 元素的实例 所以我有一个 SimpleX
  • 带有 @nguniversal 的 Angular SSR 和用于 PostCSS 支持的自定义 webpack

    我的 Angular 10 2 1 应用程序使用自定义 webpack 构建器在 scss 文件中提供 PostCSS 支持 在 SPA 模式下工作得非常好 角度 json build builder angular builders cu
  • Equals() 与静态 string.Equals()

    在阅读 C 中的字符串比较时 我发现了很多方法来比较 2 个字符串以查看它们是否相等 我已经习惯了 来自 C 但我了解到 如果将对象与字符串进行比较 那么 默认为参考值 或类似的值 那么对于Equals 方法可以说我有 2 个字符串 str
  • 尝试让 Spring/Consul/Vault 协同工作

    我正在尝试做一些我认为简单的事情 我想用Consul https www consul io用于配置 以及Vault https www vaultproject io为了秘密 我正在寻找一个像这样的简单应用程序 它允许我从 Consul
  • 在 Mac 上哪里可以找到 bashrc 文件?

    你好我正在关注这个page http docs python guide org en latest starting install osx 我正在我的 mac 上安装 Python 以便我可以设置Django Eclipse开发环境 但
  • 覆盖 google.com 匿名函数的一部分

    如果一个 javascript 函数是匿名声明的 有什么方法可以覆盖它或它的一部分吗 我试图阻止 google com 的即时搜索劫持向上和向下箭头键以在您的搜索排名中移动 我已经确定了我认为有问题的代码部分 键码 38 和 40 用于向下