Archief - JS: firefox - window.find() mogelijk om het scrollen disablen ?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

joyrider

Legacy Member
hey,

ik ben bezig met een javascript scriptje dat via window.find() bepaalde keywords vind in een pagina en deze nadien vervangt met een link. Nu het script werkt goed maar er is één nadeel. Nl window.find() zorgt er voor dat je automatisch naar het gevonden keyword in de pagina scrolled. Terwijl bij internet explorer als je gebruik maakt van rangeobject.findText dit niet gebeurd.Momenteel los ik dit op door op het einde van het script window.scrollTo(0,0) te zetten maar dit is niet echt elegant aangezien je het scrollen ziet gebeuren. Nu vroeg ik me af of er iemand misschien een manier weet om dit scrollen tegen te gaan.

dit heb ik al geprobreerd :
document.body.style.cssText = 'overflow: hidden';

dit leek te werken maar er wordt toch nog wat gescrolled en je ziet de scrollbars verdwijnen en terugkomen (als je overflow terug op auto zet na het uitvoeren van het script).

document.body.style.visibility = 'hidden';
probleem hier is dat window.find() dan geen keywoorden meer vind aangezien er geen tekst meer zichbaar is.

recursie of treewalker gebruikt om de dom tree te doorlopen en zo naar keywoorden te zoeken en ze te replacen, dit werkt perfect maar dit is zeer zeer traag (tot 30 seconden voor een pagina die heel groot is ~ 1mb is men test pagina)

als iemand soms nog ideeën heeft laat het me weten. Ik zoek ondertussen zelf nog wat verder

joyrider

Legacy Member
Wow !!
ik heb effe dat script vergeleken met mijn script dat de window.find() methode gebruikt mijn script doet er 4542 ms over, het script op tweakers doet er 3957 ms over. voor hetzelfde woord op een pagina die 1 megabyte groot is en voor een woord dat er 287 keer in voorkomt. In internet explorer werkt het script zelfs nog sneller daar doet hij er maar 1987ms over.

Ben er zeker iets mee !
Voordeel is ook dat het in beide browsers werkt.

Ik ga dat script eens bestuderen nu en aanpassen voor wat ik er mee wil doen :)

bedankt he

Smoerf

Legacy Member
no problemo, ik wist dat ik het ergens was tegengekomen dus, good luck!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan