Sorot kata kunci web

Sorotan Kata Kunci Kustom di Halaman Web termasuk pemuatan dinamis saat menggulir

Pasang skrip ini?
Sugesti pemilik skrip

Kamu mungkin juga suka Greasyfork Pengrajin lem.

Pasang skrip ini
// ==UserScript==
// @name              网页关键词高亮显示
// @name:af           Merk webwoorde op web
// @name:am           የድር ቁልፍ ቃላት ያጉሉ
// @name:ar           تمييز الكلمات الرئيسية على الويب
// @name:az           Veb açar sözləri vurğulayın
// @name:be           Вылучыце вэб -ключавыя словы
// @name:bem          Langululeni amashiwi ayacindama aya pa webu
// @name:bg           Маркирайте уеб ключовите думи
// @name:bn           ওয়েব কীওয়ার্ডগুলি হাইলাইট করুন
// @name:bo           དྲ་བའི་གཙོ་ཚིག་གསལ་འབྱེད་བྱེད་པ།
// @name:bs           Označite web ključne riječi
// @name:ca           Ressalteu les paraules clau web
// @name:ceb          I-highlight ang mga Keyword sa Web
// @name:ckb          وشە سەرەکییەکانی وێب هێما بکە
// @name:cs           Zvýrazněte webová slova
// @name:cy           Tynnu sylw at eiriau allweddol gwe
// @name:da           Fremhæv webnøgleord
// @name:de           Markieren Sie Web -Keywords hervor
// @name:dv           ވެބް ކީވޯޑްސް ހައިލައިޓް ކުރައްވާ
// @name:dz           ཝེབ་ལྡེ་མིག་ཚུ་ གཙོ་བོར་བཏོན།
// @name:el           Επισημάνετε τις λέξεις -κλειδιά ιστού
// @name:en           Highlight web keywords
// @name:eo           Emfazu retajn ŝlosilvortojn
// @name:es           Resaltar las palabras clave web
// @name:et           Tõstke esile veebi märksõnad
// @name:eu           Nabarmendu web gako-hitzak
// @name:fa           کلمات کلیدی وب را برجسته کنید
// @name:fi           Korosta Web -avainsanat
// @name:fo           Varpa ljós á vev lyklaorð
// @name:fr           Mettre en surbrillance les mots clés Web
// @name:gd           Comharraich prìomh fhaclan lìn
// @name:gl           Resalte as palabras clave web
// @name:gu           હાઇલાઇટ વેબ કીવર્ડ્સ
// @name:haw          Kaʻi no nā hua’ōlelo pūnaewele
// @name:he           הדגש מילות מפתח באינטרנט
// @name:hi           वेब कीवर्ड हाइलाइट करें
// @name:hr           Označite web ključne riječi
// @name:ht           Mete aksan sou mo kle entènèt
// @name:hu           Jelölje ki a webes kulcsszavakat
// @name:hy           Ներկայացրեք վեբ հիմնաբառերը
// @name:id           Sorot kata kunci web
// @name:is           Auðkenndu lykilorð á vefnum
// @name:it           Evidenzia le parole chiave Web
// @name:ja           Webキーワードを強調表示します
// @name:ka           მონიშნეთ ვებ საკვანძო სიტყვები
// @name:kk           Веб-кілт сөздерді бөлектеңіз
// @name:km           រំលេចពាក្យគន្លឹះគេហទំព័រ
// @name:kn           ವೆಬ್ ಕೀವರ್ಡ್ಗಳನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ
// @name:ko           웹 키워드를 강조 표시합니다
// @name:ku           Keywordsên Web-ê ronî bikin
// @name:ky           Веб ачкыч сөздөрүн белгилөө
// @name:la           Highlight Web Keywords
// @name:lb           Highlight Web Schlësselwieder
// @name:lo           ຍົກໃຫ້ເຫັນຄໍາທີ່ໃຊ້ໃນເວັບໄຊຕ໌
// @name:lt           Pabrėžkite žiniatinklio raktinius žodžius
// @name:lv           Iezīmējiet tīmekļa atslēgvārdus
// @name:mg           Asongadino ny teny fanalahidy tranonkala
// @name:mi           Tohu kupu matua
// @name:mk           Означете ги веб -клучните зборови
// @name:ml           വെബ് കീവേഡുകൾ ഹൈലൈറ്റ് ചെയ്യുക
// @name:mn           WEBY түлхүүр үгсийг тодруул
// @name:ms           Sorot kata kunci web
// @name:mt           Jenfasizzaw il-kliem kjavi tal-web
// @name:my           ဝက်ဘ်သော့ချက်စာလုံးများကိုမီးမောင်းထိုးပြပါ
// @name:ne           हाइलाइट वेब कुञ्जी शव्दहरू
// @name:nl           Markeer websleutelwoorden
// @name:no           Uthev nøkkelord på nettet
// @name:ny           Unikani bwino pa intaneti
// @name:pa           ਵੈੱਬ ਕੀਵਰਡ ਨੂੰ ਹਾਈਲਾਈਟ ਕਰੋ
// @name:pap          Resaltá palabranan klave web
// @name:pl           Podświetl słowa kluczowe
// @name:ps           د ویب ټکي روښانه کړئ
// @name:pt           Destaque palavras -chave da web
// @name:ro           Evidențiați cuvinte cheie web
// @name:ru           Выделите веб -ключевые слова
// @name:rw           Shyira ahagaragara urubuga
// @name:sg           Zia atënë ti kota ngele na ndo ti Internet .
// @name:si           වෙබ් මූල පද ඉස්මතු කරන්න
// @name:sk           Zvýraznite webové kľúčové slová
// @name:sl           Poudarite spletne ključne besede
// @name:sm           Faailoga itulau itulau autu
// @name:sn           Simbisa Webhu Keywords
// @name:so           Muuji ereyada furaha ah ee shabakadda
// @name:sr           Означите веб кључне речи
// @name:sv           Markera webbnyckelord
// @name:sw           Onyesha maneno ya wavuti
// @name:ta           வலைச் சொற்களை முன்னிலைப்படுத்தவும்
// @name:te           వెబ్ కీలకపదాలను హైలైట్ చేయండి
// @name:tg           Калимаҳои калимаҳои веб
// @name:th           เน้นคำหลักเว็บ
// @name:ti           Web Keywords ኣጉልሕ
// @name:tk           Web açar sözlerini belläň
// @name:tn           Tlhagisa mafoko a botlhokwa a webo
// @name:to           Fakaʻofoʻofaʻia ʻi he ngaahi lea mahuʻinga ʻi he uepi .
// @name:tpi          Hailait web kiwod
// @name:tr           Web Anahtar Kelimelerini Vurgulayın
// @name:uk           Виділіть веб -ключові слова
// @name:ur           ویب کلیدی الفاظ کو اجاگر کریں
// @name:uz           Veb-kalit so’zlarni ajratib ko’rsatish
// @name:vi           Làm nổi bật các từ khóa web
// @name:xh           Chaza amagama eWebhu
// @name:yi           הויכפּונקט וועב טערמינען
// @name:zh           网页关键词高亮显示
// @name:zh-CN        网页关键词高亮显示
// @name:zh-HK        網頁關鍵詞高亮顯示
// @name:zh-MO        網頁關鍵詞高亮顯示
// @name:zh-MY        网页关键词高亮显示
// @name:zh-SG        网页关键词高亮显示
// @name:zh-TW        網頁關鍵詞高亮顯示
// @name:zu           Qokomisa amagama angukhiye wewebhu
// @description       在网页上自定义关键词突出显示包括滚动时动态加载的内容
// @description:af    Aangepaste sleutelwoorduitlig op webblaaie, insluitend dinamiese laai tydens blaai
// @description:am    በሚሸጡበት ጊዜ ተለዋዋጭ ጭነት ጭነትን ጨምሮ ድረ ገጾችን ማድመቅ ድግስ ቁልፍ ቃል
// @description:ar    تسليط الضوء على الكلمات الرئيسية المخصصة على صفحات الويب بما في ذلك التحميل الديناميكي عند التمرير
// @description:az    Xüsusi açar söz, sürüşmə zamanı dinamik yükləmə daxil olmaqla veb səhifələrdə vurğulanan
// @description:be    Спецыяльныя ключавыя словы Вылучэнне на вэб -старонках, уключаючы дынамічную загрузку пры пракручванні
// @description:bem   Icikomo icacindama icakulangisha pa mabuula ya webu ukubikapo no kutwala amaka ilyo ulepilibula
// @description:bg    Персонализирано подчертаване на ключови думи на уеб страници, включително динамично зареждане при превъртане
// @description:bn    স্ক্রোলিংয়ের সময় গতিশীল লোডিং সহ ওয়েব পৃষ্ঠাগুলিতে কাস্টম কীওয়ার্ড হাইলাইট করা
// @description:bo    དྲ་ཚིགས་ཤོག་ངོས་སྟེང་དུ་དམིགས་བསལ་གྱི་མིང་ཚིག་གསལ་པོར་བསྟན་པ།
// @description:bs    Prilagođena ključna riječ koja ističe na web stranicama, uključujući dinamičko učitavanje prilikom pomicanja
// @description:ca    PARAULA CLAU PERSONAL A PARTAMENT DE LA PERSONAL A LA PÀGINA WEB, inclosa la càrrega dinàmica quan es desplaça
// @description:ceb   Pasadya nga Keyword nga nagpasiugda sa mga panid sa web lakip ang dinamikong pagkarga sa pag-scroll
// @description:ckb   گرینگکردنی وشەی سەرەکی تایبەت لە لاپەڕەکانی وێب لەوانەش بارکردنی داینامیکی لەکاتی سکڕۆڵکردن
// @description:cs    Vlastní klíčová slova zvýraznění na webových stránkách včetně dynamického zatížení při posouvání
// @description:cy    Allweddair Custom yn tynnu sylw at dudalennau gwe gan gynnwys llwytho deinamig wrth sgrolio
// @description:da    Brugerdefineret nøgleord, der fremhæves på websider inklusive dynamisk belastning, når man ruller
// @description:de    Benutzerdefinierte Schlüsselwort auf Webseiten einschließlich dynamisches Laden beim Scrollen
// @description:dv    ސްކްރޯލް ކުރާއިރު ޑައިނަމިކް ލޯޑިންގ ހިމެނޭ ގޮތަށް ވެބް ޕޭޖްތަކުގައި ކަސްޓަމް ކީވޯޑް ހައިލައިޓް ކުރުން
// @description:dz    བཤུད་སྒྲིལ་འབད་བའི་སྐབས་ ཌའི་ནམ་མངོན་གསལ་འབད་ནི་ཚུ་རྩིས་ཏེ་ ཝེབ་ཤོག་ལེབ་ཚུ་ནང་ སྲོལ་སྒྲིག་ལྡེ་མིག་ཚིག་ཡིག་འོད་རྟགས་བཀལ་ནི།
// @description:el    Προσαρμοσμένη λέξη -κλειδί επισημάνιση σε ιστοσελίδες, συμπεριλαμβανομένης της δυναμικής φόρτωσης κατά την κύλιση
// @description:en    Custom keyword highlighting on web pages including dynamic loading when scrolling
// @description:eo    Propra ŝlosilvorto reliefiganta sur retpaĝoj inkluzive de dinamika ŝarĝo kiam rulumado
// @description:es    Destacado de palabras clave personalizadas en páginas web que incluyen la carga dinámica al desplazarse
// @description:et    Kohandatud märksõna esiletõstmine veebilehtedel, sealhulgas dünaamiline laadimine kerimisel
// @description:eu    Gako-hitza pertsonalizatua Web orrialdeetan nabarmentzen da korritze dinamikoa barne
// @description:fa    برجسته کردن کلمات کلیدی سفارشی در صفحات وب از جمله بارگیری پویا هنگام پیمایش
// @description:fi    Mukautettu avainsanan korostaminen verkkosivuilla, mukaan lukien dynaaminen lataus vieritettäessä
// @description:fo    Sersniðgivin lyklaorð varpa ljós á vevsíður íroknað dynamiska innlesing tá rulla
// @description:fr    Mots-clés personnalisés mettant en surbrillance sur les pages Web, y compris le chargement dynamique lors du défilement
// @description:gd    Pistle Keyword a ’soilleireachadh air duilleagan lìn a’ toirt a-steach Dynamic a ’luchdachadh nuair a scrolladh
// @description:gl    Palabras clave personalizadas en páxinas web incluíndo a carga dinámica ao desprazarse
// @description:gu    સ્ક્રોલિંગ કરતી વખતે ગતિશીલ લોડિંગ સહિત વેબ પૃષ્ઠો પર કસ્ટમ કીવર્ડ હાઇલાઇટિંગ
// @description:haw   Ke hoʻomau nei ka hua’ōlelo pili ma nāʻaoʻao pūnaewele me ka laweʻana i ka laweʻana i ka wā e neʻe nei
// @description:he    הדגשת מילות מפתח בהתאמה אישית בדפי אינטרנט כולל טעינה דינאמית בעת הגלילה
// @description:hi    स्क्रॉल करते समय डायनेमिक लोडिंग सहित वेब पेजों पर कस्टम कीवर्ड हाइलाइटिंग
// @description:hr    Prilagođena ključna riječ isticanje na web stranicama, uključujući dinamično učitavanje prilikom pomicanje
// @description:ht    Custom mo kle en sou paj wèb ki gen ladan loading dinamik lè defile
// @description:hu    Egyéni kulcsszó kiemelése a weboldalakon, beleértve a dinamikus betöltést a görgetéskor
// @description:hy    Հատուկ հիմնաբառեր, որոնք ընդգծում են վեբ էջերում, ներառյալ դինամիկ բեռնումը, երբ պտտվում են
// @description:id    Sorotan Kata Kunci Kustom di Halaman Web termasuk pemuatan dinamis saat menggulir
// @description:is    Sérsniðið lykilorð undirstrikar á vefsíðum þar á meðal kraftmiklum hleðslu þegar flett er
// @description:it    Evidenziazione delle parole chiave personalizzate su pagine Web incluso il caricamento dinamico durante lo scorrimento
// @description:ja    スクロール時に動的読み込みを含むWebページで強調表示されるカスタムキーワード
// @description:ka    საბაჟო საკვანძო სიტყვა, რომელიც ხაზს უსვამს ვებ - გვერდებზე, დინამიური დატვირთვის ჩათვლით
// @description:kk    Өзгертпелі кілт сөзді веб-беттерде бөлектеу, соның ішінде айналдыру кезінде динамикалық жүктемені бөлектеу
// @description:km    ការបន្លិចពាក្យគន្លឹះផ្ទាល់ខ្លួនការបន្លិចនៅលើគេហទំព័ររួមទាំងការផ្ទុកថាមវន្តនៅពេលរមូរ
// @description:kn    ಸ್ಕ್ರೋಲಿಂಗ್ ಮಾಡುವಾಗ ಡೈನಾಮಿಕ್ ಲೋಡಿಂಗ್ ಸೇರಿದಂತೆ ವೆಬ್ ಪುಟಗಳಲ್ಲಿ ಕಸ್ಟಮ್ ಕೀವರ್ಡ್ ಹೈಲೈಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ
// @description:ko    스크롤 할 때 동적로드를 포함한 웹 페이지에서 사용자 정의 키워드 강조 표시
// @description:ku    Bişkojka Bişkojka Bişkojka li ser rûpelên malperê digel dema barkirina dînamîk
// @description:ky    Веб-баракчаларды басаңдатуу
// @description:la    Custom keyword highlighting in Web Paginae possidet Dynamic loading cum scrolling
// @description:lb    Benotzerdefinéiert Schlësselwuert Highlight op Web Säiten abegraff Dynamic Laden wann scrollt
// @description:lo    ຄໍາເວົ້າຂອງຄໍາຫລັກທີ່ກໍານົດເອງໃນຫນ້າເວັບຕ່າງໆລວມທັງການໂຫຼດແບບເຄື່ອນໄຫວເມື່ອເລື່ອນພາບ
// @description:lt    Individualizuotas raktinis žodis pažymėjimas tinklalapiuose, įskaitant dinaminį įkėlimą slinkti
// @description:lv    Pielāgots atslēgvārds izceļ tīmekļa lapās, ieskaitot dinamisku ielādēšanu, ritinot
// @description:mg    Ny teny fanalahidy mahazatra manasongadina ao amin’ny pejy web ao anatin’izany ny lakana mavitrika rehefa horonana
// @description:mi    Ko te tuhi kupu matua e whakaatu ana i nga whaarangi paetukutuku tae atu ki te taatai hihiri i te panuku
// @description:mk    Нагласување на сопствени клучни зборови на веб -страници, вклучувајќи динамично вчитување при движење
// @description:ml    സ്ക്രോൾ ചെയ്യുമ്പോൾ ഡൈനാമിക് ലോഡിംഗ് ഉൾപ്പെടെ വെബ് പേജുകളിൽ ഇഷ്ടാനുസൃത കീവേഡ്
// @description:mn    Гүйлгэх үед динамик ачаалах үед WEB түлхүүр үгийг тодруулж байна
// @description:ms    Kata kunci tersuai yang menyoroti laman web termasuk pemuatan dinamik semasa menatal
// @description:mt    Keyword tad-dwana li tenfasizza fuq paġni tal-web inkluż tagħbija dinamika meta tiskrollja
// @description:my    စိတ်ကြိုက်သော့ချက်စာလုံးသည် scrolling လုပ်သည့်အခါ dynamic loading အပါအ 0 င်စာမျက်နှာများပေါ်တွင်မီးမောင်းထိုးပြခြင်း
// @description:ne    स्क्रिप्टिंग जब स्क्रोल गर्दै गतिशील लोडिंग सहित वेब पृष्ठहरूमा ग्राहिक कुञ्जी शब्द हाइलाइट गर्दै
// @description:nl    Aangepaste trefwoord markeren op webpagina’s inclusief dynamisch laden bij scrollen
// @description:no    Tilpasset nøkkelord som fremhever på websider inkludert dynamisk lasting når du ruller
// @description:ny    Mawu osonyeza kuwunikira pamasamba a Web
// @description:pa    ਵੈਬ ਪੇਜਾਂ ਨੂੰ ਉਜਾਗਰ ਕਰਨਾ ਸਮੇਤ ਕਸਟਮ ਲੋਡਿੰਗ ਸਮੇਤ ਕਸਟਮਿਕ ਲੋਡਿੰਗ ਜਦੋਂ ਸਕ੍ਰੌਲ ਕਰਨਾ
// @description:pap   Palabra klave personalisá riba páginanan di web inkluyendo kargamentu dinámiko ora di scroll
// @description:pl    Niestandardowe podświetlenie słów kluczowych na stronach internetowych, w tym ładowanie dynamiczne podczas przewijania
// @description:ps    د دودیزو پا pages و په اړه د ګمرک کلیدي ټکي روښانه کول کله چې سکرول کول
// @description:pt    Destaque de palavras -chave personalizadas em páginas da web, incluindo carregamento dinâmico ao rolar
// @description:ro    Sublinierea cuvintelor cheie personalizate pe paginile web, inclusiv încărcarea dinamică la derulare
// @description:ru    Пользовательский ключевой слов выделяет на веб -страницах, включая динамическую загрузку при прокрутке
// @description:rw    Ijambo ryibanze ryerekana kurubuga rwurubuga harimo imbaraga zingirakamaro mugihe zizunguruka
// @description:sg    Molongo ti atënë so ayeke na lege ni na ndo ti alembeti ti Internet so andu nga chargement dynamique na ngoi so mo yeke sara défilement .
// @description:si    අභිරුචි යතුරුපදය අනුචලනය කිරීමේදී ගතික පැටවීම ඇතුළුව වෙබ් පිටු වල උද්දීපනය කිරීම
// @description:sk    Vlastné zvýraznenie kľúčového slova na webových stránkach vrátane dynamického načítania pri posúvaní
// @description:sl    Poudarjanje ključnih besed po meri na spletnih straneh, vključno z dinamično nalaganje pri pomikanju
// @description:sm    Coupine Keyword Faʻailoaina i Upega Tafaʻilagi i le Upega Tafaʻilagi e aofia ai le Dynamic utaina pe a fai o le tusi
// @description:sn    Tsika Keyword Inoratidza paWebhu Mapeji kusanganisira Dynamic Kuisa Paunenge Uchikanda
// @description:so    Ereyga furaha ee caadada ah ee lagu muujinayo bogagga shabakadda oo ay ku jiraan rarka firfircoon marka la wareego
// @description:sr    Истицање кључних речи на веб страницама, укључујући динамично утоваривање током померања
// @description:sv    Anpassad nyckelord som markerar på webbsidor inklusive dynamisk lastning vid rullning
// @description:sw    Kifunguo cha Kifungu cha Kuonyesha kwenye Kurasa za Wavuti pamoja na Upakiaji wa Nguvu Wakati wa Kusongesha
// @description:ta    ஸ்க்ரோலிங் செய்யும் போது டைனமிக் ஏற்றுதல் உள்ளிட்ட வலைப்பக்கங்களில் தனிப்பயன் முக்கிய சொல் சிறப்பம்சமாக
// @description:te    స్క్రోలింగ్ చేసేటప్పుడు డైనమిక్ లోడింగ్‌తో సహా వెబ్ పేజీలలో కస్టమ్ కీవర్డ్ హైలైటింగ్
// @description:tg    Нишон додани калимаҳои калидӣ дар саҳифаҳои интернетӣ, аз ҷумла сарлавҳаи инсаминӣ ҳангоми навиштан
// @description:th    คำหลักที่กำหนดเองที่เน้นบนหน้าเว็บรวมถึงการโหลดแบบไดนามิกเมื่อเลื่อน
// @description:ti    Custom Keyword Shignerting ኣብ መርበብ ሓበሬታ ገጻት ዳይናሚክ ጽዕነት ሓዊሱ ስክሮሊንግ
// @description:tk    Aýlamakda giňeldilen web sahypalaryny bellemek bilen aýratyn açar söz
// @description:tn    Go tlhomolola lefoko la botlhokwa mo ditsebeng tsa webo go akaretsa le go laisa go go fetogang fa o tsamaya
// @description:to    ’Oku faka’ilonga’i ’e he lea mahu’inga angamaheni ’i he ngaahi peesi ’o e uepi ’o kau ai ’a e uta malohi ’i he taimi ’oku scroll .
// @description:tpi   Kastom kiwod we i haelaetem long ol web pej we i inkludim daenamik lod taem yu stap skrol
// @description:tr    Kaydırma yaparken dinamik yükleme dahil web sayfalarında özel anahtar kelime vurgu
// @description:uk    Спеціальні ключові слова, що виділяють на веб -сторінках, включаючи динамічне завантаження під час прокрутки
// @description:ur    کسٹم کلیدی الفاظ کو ویب صفحات پر اجاگر کرنا بشمول متحرک لوڈنگ سمیت سکرولنگ
// @description:uz    O’tkazishda Internet sahifalarida alohida kalit so’zni, shu jumladan aylantirish paytida
// @description:vi    Từ khóa tùy chỉnh làm nổi bật trên các trang web bao gồm tải động khi cuộn
// @description:xh    Igama eliphambili eliqaqambileyo kumaphepha ewebhu abandakanya ukulayisha i-Dynamic xa uskrola
// @description:yi    מנהג קייוואָרד כיילייטינג אויף וועב זייַטלעך אַרייַנגערעכנט דינאַמיש לאָודינג ווען סקראָללינג
// @description:zh    在网页上自定义关键词突出显示包括滚动时动态加载的内容
// @description:zh-CN 在网页上自定义关键词突出显示包括滚动时动态加载的内容
// @description:zh-HK 在網頁上自定義關鍵詞突出顯示包括滾動時動態加載的內容
// @description:zh-MO 在網頁上自定義關鍵詞突出顯示包括滾動時動態加載的內容
// @description:zh-MY 在网页上自定义关键词突出显示包括滚动时动态加载的内容
// @description:zh-SG 在网页上自定义关键词突出显示包括滚动时动态加载的内容
// @description:zh-TW 在網頁上自定義關鍵詞突出顯示包括滾動時動態加載的內容
// @description:zu    Ukugqamisa igama elingukhiye kumakhasi e-Web kufaka phakathi ukulayisha okunamandla lapho usola
// @namespace         https://github.com/ChinaGodMan/UserScripts
// @version           1.0.5.26
// @author            人民的勤务员 <[email protected]> & leconte112
// @match             *://*/*
// @grant             GM_getValue
// @grant             GM_setValue
// @grant             GM_registerMenuCommand
// @grant             GM_addStyle
// @license           MIT
// @supportURL        https://github.com/ChinaGodMan/UserScripts/issues
// @homepageURL       https://github.com/ChinaGodMan/UserScripts
// @icon              data:image/png;base64,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
// @iconbak           https://github.com/ChinaGodMan/UserScripts/raw/main/docs/icon/Scripts%20Icons/icons8-mark-96.png
// ==/UserScript==

(function () {
    'use strict'

    let keywordsToMatch = GM_getValue('keywordsToMatch', [])
    let backgroundColor = GM_getValue('backgroundColor', '#FF0000')
    let textColor = GM_getValue('textColor', '#FFFF00')
    let blackBoxStyle = `background-color: ${backgroundColor} !important; color: ${textColor} !important;`

    function applyBlackBoxToElements() {
        const allTextNodes = []
        const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, null, false)

        let node
        while ((node = walker.nextNode())) {
            allTextNodes.push(node)
        }

        function processBatch(batch) {
            for (let textNode of batch) {
                const text = textNode.textContent.toLowerCase()
                for (const keyword of keywordsToMatch) {
                    if (text.includes(keyword.toLowerCase())) {
                        const parentElement = textNode.parentElement
                        if (parentElement) {
                            parentElement.style.cssText += blackBoxStyle
                        }
                        break
                    }
                }
            }
        }

        const batchSize = 100  // 每次处理100个节点
        for (let i = 0; i < allTextNodes.length; i += batchSize) {
            processBatch(allTextNodes.slice(i, i + batchSize))
        }
    }

    function observeAndApplyBlackBox() {
        const observer = new MutationObserver(function (mutations) {
            const addedNodes = []
            for (const mutation of mutations) {
                if (mutation.addedNodes.length > 0) {
                    addedNodes.push(...mutation.addedNodes)
                }
            }
            if (addedNodes.length > 0) {
                setTimeout(applyBlackBoxToElements, 500)  // 延迟处理
            }
        })

        const config = { childList: true, subtree: true }
        observer.observe(document.body, config)
    }

    function handleScroll() {
        let timeout
        window.addEventListener('scroll', function () {
            clearTimeout(timeout)
            timeout = setTimeout(applyBlackBoxToElements, 200)  // 延迟处理
        })
    }

    function processPage() {
        applyBlackBoxToElements()
        observeAndApplyBlackBox()
        handleScroll()
    }

    function openEditDialog() {
        const dialogHTML = `
    <div id="editDialog" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; padding: 20px; border: 1px solid #ccc; box-shadow: 3px 3px 5px rgba(0,0,0,0.3); z-index: 9999; width: 60%; max-width: 600px; resize: both; overflow: auto;">
        <h3 style="cursor: move;">编辑高亮关键词和颜色</h3>
        <p>请输入用"#"号分隔的关键词:</p>
        <textarea id="keywordsInput" style="width: 100%; height: 100px; resize: vertical;">${keywordsToMatch.join('#')}</textarea>
        <p>请选择背景色:</p>
        <input type="color" id="bgColorPicker" value="${backgroundColor}">
        <p>请选择字体颜色:</p>
        <input type="color" id="textColorPicker" value="${textColor}">
        <div style="text-align: right; margin-top: 10px;">
            <button id="saveBtn">保存</button>
            <button id="cancelBtn">取消</button>
        </div>
    </div>
    <div id="overlay" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9998;"></div>
`
        document.body.insertAdjacentHTML('beforeend', dialogHTML)

        const keywordsInput = document.getElementById('keywordsInput')
        const bgColorPicker = document.getElementById('bgColorPicker')
        const textColorPicker = document.getElementById('textColorPicker')

        bgColorPicker.addEventListener('input', function () {
            keywordsInput.style.backgroundColor = bgColorPicker.value
        })

        textColorPicker.addEventListener('input', function () {
            keywordsInput.style.color = textColorPicker.value
        })
        document.getElementById('saveBtn').addEventListener('click', function () {
            const newKeywords = document.getElementById('keywordsInput').value.split('#').map(keyword => keyword.trim())
            keywordsToMatch = newKeywords
            GM_setValue('keywordsToMatch', keywordsToMatch)

            backgroundColor = document.getElementById('bgColorPicker').value
            textColor = document.getElementById('textColorPicker').value
            GM_setValue('backgroundColor', backgroundColor)
            GM_setValue('textColor', textColor)

            blackBoxStyle = `background-color: ${backgroundColor} !important; color: ${textColor} !important;`

            closeEditDialog()
            processPage()
        })

        document.getElementById('cancelBtn').addEventListener('click', function () {
            closeEditDialog()
        })
    }

    function closeEditDialog() {
        const dialog = document.getElementById('editDialog')
        const overlay = document.getElementById('overlay')
        if (dialog) {
            dialog.remove()
        }
        if (overlay) {
            overlay.remove()
        }
    }

    GM_registerMenuCommand('编辑高亮关键词和颜色', openEditDialog)
    processPage()
})()