”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在同一页面上多次执行 Greasemonkey 脚本而不刷新?

如何在同一页面上多次执行 Greasemonkey 脚本而不刷新?

发布于2024-11-21
浏览:786

How can I execute a Greasemonkey script multiple times on the same page without a refresh?

在同一页面上多次注入 Greasemonkey 脚本

对于 Greasemonkey 和 JavaScript 的新用户来说,一个常见的要求是用户脚本需要可以多次执行,无需刷新页面。当使用 Ajax 发生请求(例如 Amazon 搜索)而不触发完整页面重新加载时,这种情况就变得至关重要。

解决方案:利用 waitForKeyElements() 实用程序

To waitForKeyElements() 实用程序提供了一个强大而简单的解决方案,有效地满足了这一需求。该实用程序监视指定的元素,并在该元素的内容发生更改时执行回调函数。下面是一个利用 jQuery 和 waitForKeyElements 修改 Amazon 搜索结果的完整脚本:

// @name     _Amazon Search, alter results
// @include  http://www.amazon.com/s/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==

function addCustomSearchResult (jNode) {
    jNode.prepend (
        '<div>

实现细节:

  • waitForKeyElements() 实用程序: 该实用程序检查元素是否存在ID“atfResults”。找到后,它会执行 addCustomSearchResult() 函数。
  • addCustomSearchResult() 函数: 此函数通过注入您的自定义内容来修改亚马逊搜索结果。在此示例中,它添加了一个自定义 div,其中包含文本“改为购买我的东西!”

使用此解决方案,您现在可以在同一页面上多次执行 Greasemonkey 脚本而无需刷新,从而为您提供更大的灵活性和对浏览器交互的控制。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3