首頁 >web前端 >js教程 >如何在同一頁多次執行Greasemonkey腳本而不刷新?

如何在同一頁多次執行Greasemonkey腳本而不刷新?

Susan Sarandon
Susan Sarandon原創
2024-11-16 11:12:021044瀏覽

How Can I Execute a Greasemonkey Script Multiple Times on the Same Page Without Refreshing?

每頁多次執行Greasemonkey 腳本

作為Greasemonkey 和Web 開發的新用戶,您會遇到一個挑戰:多次運行使用者腳本在同一頁上多次,無需刷新頁面。這對於 Ajax 驅動的亞馬遜搜尋等場景是必要的,您的目標是在搜尋結果出現時將自訂元素插入到搜尋結果中。

經驗豐富的使用者推薦的有效解決方案是 waitForKeyElements() 實用性。它允許您在頁面上指定目標元素並註冊一個回調函數,該函數將在每次新增或修改目標元素時執行。

為了示範其用法,讓我們考慮一個用於更改亞馬遜搜尋結果的修改腳本:

// Greasemonkey script to alter Amazon search results
// ==UserScript==
// @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) {
    // Inject your custom element
    jNode.prepend (
        '<div>

它的工作原理如下:

  • wai tForKeyElements()函數監視目標元素(在本例中為#atfResults)並呼叫回呼每當新增或修改元素時,您可以使用回呼函數(addCustomSearchResult)。
  • 在回呼函數中,您可以將自訂內容注入到搜尋結果 div 中。
  • 由於此過程發生時無需刷新頁面,您的每次發出新的 Ajax 請求時,自訂元素都會出現在搜尋結果中。

以上是如何在同一頁多次執行Greasemonkey腳本而不刷新?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn