An Opera extension = lost nerves, lost time and zero results

For about the third week now I have been working on an extension for Opera. By turns, one thing would work and another would not. Now I have ended up at the point where it already sends data to another domain, but parsing in jQuery does not work, and in plain JavaScript I just don’t feel like writing it.

It would not have worked anyway, because what doesn’t work in jQuery doesn’t work anywhere – that is my own proven experience.
And yet the very same script works just fine in Chrome with the help of the “Script injector” extension. Meanwhile, I really had to suffer with that extension for Opera.

At first it would not display the icon. I struggled with that for a whole day before I solved it. I tried placing the call to the init method in every possible way, from the body onload event to calling init at the beginning and more; right now I can’t remember exactly everything I tried. The whole thing slowed me down, because every time I had to delete the old extension both from the disk and from Opera, pack the new one with 7-zip, rename it to oex and install it into Opera.

Then, when debugging it, I had to turn on Opera Dragonfly, select the extension, set a breakpoint and then debug and step through it. And with my memory, which is unable to remember absolutely anything at all, so that I have to try and verify everything again every single time, it really takes so much time that it is not pretty.

So I have been working on that geocaching website for roughly 6 days now. I spent 4 days on the stupid Opera extension, which still doesn’t even work, because I have not yet found out whether Opera’s API has some method like ExecuteScript; in Chrome it did not work for me either until I used that method. I spent another 1 day developing the same extension for Chrome.

And another 1 day developing the website, which now looks like this:


SunamoGeocachingWeb1

So at the moment the program can parse the individual elements on the page with JS in the browser and send them using the POST method (GET would not be enough for that amount of data). It can insert them into the DB, and work is now underway on displaying the caches in the listing. It can do terribly little so far, but the good news is that I can now focus fully on the website and program only in golden C#.

Categories

Leave a Reply