De laatste post

Orienteering-news website

donderdag, augustus 09, 2007

Startlijsten vijfdaagse per categorie

De startlijsten van de vijfdaagse van België zijn gisteren verschenen, met de lopers per club gerangschikt. Omdat het altijd fijn is om te weten wie er in uw reeks loopt en wanneer die starten, wil De Laatste Post enkele van zijn best bewaarde geheimen met u delen.

Wij hebben namelijk een knopje in onze browser dat volledig automatisch een lijst per categorie maakt van een startlijst per club. Deze versie is voor Opera, maar misschien zal een lokale Firefox-fanboy het wel willen kopiëren naar Greasemonkey.

Als je nog geen UserJS gebruikt, maak dan eerst ergens een map aan, en selecteer die map bij Extra->Voorkeuren->Geavanceerd->Inhoud->Javascript Opties->User Javascript map. Kopieer dan het scriptje naar die map. Dan een Bladwijzer toevoegen, met als naam bijvoorbeeld "Startlist" en bij "Adres" (na een klik op Details), zet je:

javascript:opera.helgaStartlistByCategory();

Geef er eventueel nog een bijnaam aan (bij mij "list"). Als je nu op de Bladwijzer klikt of de bijnaam intikt op een pagina met een startlijst, dan verschijnt er de lijst per categorie.

FRSO behandeling

Nu we toch bezig zijn met ons werk uit te delen: de resultaten van FRSO zien er zo uit bij mij:

Resultaten in de eventlist

Hier zijn er twee scriptjes: één om in de lijst met wedstrijden van de eerste vijf wedstrijden te controleren of er al resultaten zijn en een ander dat op een pagina met wedstrijdinfo in de linkerbovenhoek zet of er al resultaten zijn. In dezelfde map als hierboven plaatsen, maar hier moet je nergens op klikken, maar gebeurt alles automatisch, zelfs al voor de pagina gerenderd wordt, afhankelijk van de snelheid van uw verbinding. Let er wel op dat deze scriptjes sterk afhankelijk zijn van de code van de FRSO site en dus nogal fragiel zijn en dus op elk moment kunnen stoppen met werken.

Verbeteringen/commentaar altijd welkom.

14 Comments:

  • At 9/8/07 16:46, Anonymous Anoniem said…

    En nu int nederlands...

    :-)

     
  • At 9/8/07 17:32, Blogger Jochen said…

    ???

     
  • At 9/8/07 17:58, Blogger JeroenH said…

    Mash: UserJS is het aanpassen van een webpagina als die getoond wordt, dus dingen toevoegen, verwijderen... Meer uitleg: Nederlandstalige! uitleg, de officiële documentatie. Gewoon bestandjes in een map gooien en die bookmarklet toevoegen en het werkt...

    Jochen: Gewoon javascript, ik ben te lui om het zelf om te zetten naar Greasemonkey en het was misschien toch wel interessant voor u om te hebben en als ge het dan toch omgezet hebt...

    Dat startlijstenscriptje zou triviaal moeten zijn om over te zetten, niks bijzonders gebruikt daar. Die FRSO scriptjes zijn wat meer werk om om te zetten.

    Misschien als ik nog wat tijd en goesting heb straks, zal ik er eens zelf naar zien.

     
  • At 9/8/07 19:16, Blogger Jochen said…

    Wel euh, ik snap eigenlijk allemaal niet goed wat de bedoeling is...
    kom ik nog wel achter (?).
    Even geduld ;-)

     
  • At 9/8/07 19:46, Blogger Jochen said…

    OK Jeroen, ik snap het...

    Het is werkelijk FANTASTISCH !!!

    Nu, van al dat gedoe zelf ken ik niet veel en ik ben zeker geen JavaScript-talent...

    Ik zal dat eens bekijken.
    Want ik ben daar voorlopig niet echt 'vet' mee aangezien ik voornamelijk Firefox gebruik...

     
  • At 9/8/07 20:13, Blogger Jochen said…

    Ik kan het Script al wel installeren via Greasemonkey, maar weet niet hoe je het nu moet laten uitvoeren op de pagina's met starttijden...

    Het Script voor Greasemonkey:
    http://users.skynet.be/vervan/startlists.user.js
    (gewoon hetzelfde, alleen met "user.js")

     
  • At 9/8/07 22:16, Blogger JeroenH said…

    :-) Goed zo!

    Ik heb ook eens geprobeerd en met Greasemonkey lukt het mij niet. Ik kan een knopje toevoegen in een menu, maar daar kan ik dan geen code uitvoeren die in het document inwerkt.

    Hoe ik het wel aan de praat kreeg in Firefox was met een bookmarklet, de javascript code eerst urlencoden en dan plakken in het adresvakje. Ik krijg de code hier niet geplakt, maar hetgeen je in het vakje Locatie van de bookmark moet zetten staat in een tekstbestandje.

    De FRSO dingskes werken normaal wel als greasemonkey, maar je moet daar rekening houden dat greasemonkey alleen maar bij "load" uitgevoerd wordt, dus na de "DOMContentLoaded" waarop de Opera scriptjes runnen, maar niet zo'n ramp dus(hoewel een redraw extra).

    Hoe je de code kunt omzetten:
    - de selectNode en selectSingleNode omzetten naar DOM 3 XPath. Of ergens code zoeken die die functies nadoet (of ze zelf schrijven :-)
    - het inladen van een externe HTML pagina zou ik niet weten te doen, IFrames misschien? Opera heeft createHTMLDocument, maar dat was uit DOM 2 HTML gedropt en is dus nooit in Firefox terechtgekomen.
    De FRSO site parsen met XMLHttpRequest als XML werkt ook niet, aangezien ze in de val die appendix C heet trapt.
    Firefox 3 kan HTML parsen met DOMParser, dus dan valt het wel simpel te doen, maar dat is dus nog wat wachten.

     
  • At 9/8/07 22:41, Blogger Jochen said…

    Thanks!

    Eigelijk is het nu in Firefox nog 5 keer makkelijker dan in Opera :-)
    Gewoon een bookmark maken en JS-tekst plakken in "Locatie"...

     
  • At 10/8/07 08:37, Anonymous Anoniem said…

    thanks guys. nu moet ik eindelijk niet meer copypasten naar excel - text to table - sort by column H. Maar met één klik op een knopje is het gefixt.

     
  • At 10/8/07 10:27, Blogger JeroenH said…

    > Eigelijk is het nu in Firefox nog 5 keer makkelijker dan in Opera :-)

    Werkt evenzeer in Opera, maar is enorm pijnlijk om te maken, daarom doe ik het liever op de andere manier :-)

     
  • At 10/8/07 15:35, Anonymous Anoniem said…

    en microsoft?

     
  • At 10/8/07 17:56, Blogger JeroenH said…

    > en microsoft?

    Gebruik Opera :-)

    Bookmarklet zou evenzeer moeten werken, buiten dat je textContent moet vervangen door innerText.

     
  • At 10/8/07 18:50, Blogger Jochen said…

    > Werkt evenzeer in Opera, maar is enorm pijnlijk om te maken, daarom doe ik het liever op de andere manier :-)

    Bestaat er dan niets dat uw hele Javacode kan omzetten in één regel 'tekst'?

     
  • At 11/8/07 10:09, Blogger JeroenH said…

    > Bestaat er dan niets dat uw hele Javacode kan omzetten in één regel 'tekst'?

    Jawel, maar dan moet je na elke wijziging weer helemaal opnieuw alles herhalen en opnieuw plakken.

    Opera laadt altijd de scriptjes in de UserJS map opnieuw in, zodat je daar eigenlijk niks moet doen dan de scriptjes op te slaan.

     

Een reactie posten

<< Home