반응형
같은 페이지에서 Greasemonkey 스크립트를 여러 번 실행하시겠습니까?
저는 Greasemonkey, javascript, 사실 UI는 모두 처음입니다.
요건:사용자 스크립트는 페이지 로드 후 GS에 의해 한 번 실행됩니다.단, 리프레시 없이 같은 스크립트를 여러 번 실행해야 합니다.
사용 사례:ex의 경우 Amazon.com 검색은 Ajax를 사용하여 수행됩니다.검색 결과에 사용자 지정 요소를 포함해야 합니다.
동일한 페이지에서 검색이 발생할 때마다 결과와 함께 내 콘텐츠를 search-results-div에 삽입해야 합니다(페이지 새로 고침 없음).
현재 스크립트는 페이지 새로 고침 시에만 실행됩니다.
위의 설명이 명확했으면 합니다.제발 도와주세요.
가장 간단하고 견고한 방법은 wait For Key Elements() 유틸리티를 사용하는 것입니다.
다음은 jQuery를 사용하는 완전한 스크립트입니다.waitForKeyElementsAmazon 검색 결과를 변경하려면:
// ==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==
/*- The @grant directive is needed to work around a design change
introduced in GM 1.0. It restores the sandbox.
*/
function addCustomSearchResult (jNode) {
//***** YOUR CODE HERE *****
jNode.prepend (
'<div id="result_000" class="fstRow">Buy my stuff, instead!</div>'
);
}
waitForKeyElements ("#atfResults", addCustomSearchResult);
를 사용할 수 있습니다.DOMNodeInserted콜백을 호출하는 이벤트. 예:
document.addEventListener('DOMNodeInserted', function() { alert('hi') }, false);
페이지 구조의 변경에 따라 이벤트가 트리거되므로 변경 대상이 올바른지 확인해야 합니다.
언급URL : https://stackoverflow.com/questions/11195658/run-greasemonkey-script-on-the-same-page-multiple-times
반응형
'programing' 카테고리의 다른 글
| RETS MLS 및 RETS 클라이언트 (0) | 2023.03.21 |
|---|---|
| [ spring _ web ]라는 이름의 fragment가 여러 개 발견되었습니다.이것은 상대적인 주문에서는 합법적이지 않습니다. (0) | 2023.03.21 |
| Convert a JSON schema to a python class (0) | 2023.03.21 |
| 닫힘 이벤트 후 각도 의 모달 (0) | 2023.03.21 |
| JavaScript:AJAX 요청 탐지 (0) | 2023.03.21 |