Citat:
Ursprungligen postat av
pOXE
Denna funktion förtjänar en separat tråd och separat tillägg som endast gör en sak.
Med tillägget skannar ni av hela tråden och får upp alla länkar som har delats i tråden. Tillägget kan spara dig massa tid om du söker efter länkar, senaste nyheter, säkra källor, FUP, bilder osv.
När ni scrollar ner kommer det upp en ruta längst ner på sidan där det står "skanna efter länkar" ni klickar den och tillägget kommer skanna av hela tråden och visa er alla länkar som har delats.
Tillägget funkar endast på första sidan i tråden för att inte störa allt för mycket alltså funkar den inte på sida 2 sida 3 sida 4 osv.
Flashback Link Scanner Version 1
Funkar i Brave Chrome Edge och Chromium webbläsare.
För att installera tillägget skapa en mapp och i den filer jag har skrivit ner glöm ej klistra in texten i de filerna.
Öppna Brave eller Chrome eller Edge och öppna tilläggshantering > markera developer mode > det är lite olika beroende på webbläsaren du använder > välj importera > välj mappen du precis skapade > klart
Exempel
https://ibb.co/cXbHbnnh
manifest.json
https://sharetext.io/c0f4bcb6
content.js
https://sharetext.io/bb6b8fc6
Roligt att vi båda har byggt liknande funktionalitet samtidigt!
En liten sak jag tänkte på i din funktion är att det verkar saknas ett tillräckligt långt delay mellan varje request. Du har i och för sig en kort paus på 700 ms, Men det är troligen lite för kort för att undvika att IP-adressen tillfälligt blockeras om man skickar många förfrågningar snabbt efter varandra, särskilt om man har en snabb dator och en bra uppkoppling.
När jag löste “infinite scroll” i mitt plugin byggde jag ett kösystem för requests, men det hade nog gått lika bra att lägga in ett något längre delay mellan anropen särskilt om man ändå inte kör funktionen asynkront.
Om du vill se hur jag gjorde kan du kika på min implementation här:
https://github.com/leolajban/Kattskralle
Titta gärna på funktionen startSearchLinksInThread (runt rad 2615), där finns en inställningskontroll som lägger till "await new Promise(resolve => setTimeout(resolve, 1500))" om man har valt att köra funktionen i “säkert läge”.
Man brukar generellt säga att ett intervall på 1500–3000 ms mellan förfrågningar behövs för att undvika att trigga bott-skydd, vilket minskar risken för blockering även om scrapern därmed går något långsammare.
Har du funderat på att skaffa GitHub?
Det skulle nog göra det enklare både för dig och för andra som vill följa utvecklingen. Då slipper du posta nya kodsnuttar här varje gång du gör en ändring och användare får en bättre överblick över hela koden.
Dessutom kan man prenumerera på uppdateringar istället för att behöva hålla koll i tråden manuellt.