[cgiirc-general] Beyond browser-specific interfaces?
Brought to you by:
dgl
From: Giuseppe B. <bil...@ho...> - 2006-05-22 16:30:23
|
Hello, CGI:IRC is really an amazing piece of software, and I've started using it to provide quicklinks from the fora I follow to the respective IRC channel. To speed up connection, I set up the links in such a way that the "custom login" form is bypassed, with all settings already assigned in the link (nickname, channel, charset, etc ... btw, is there a way to set the Username?). The one particular thing I'm doing is to bypass browser detection and just use interface=ie. The reason for this is that I found that this interface is the most complete one and it works "almost" perfectly also in Mozilla (SeaMonkey and Firefox) and in Opera. I haven't tested it in Konqueror or Safari yet, but given the speed at which these browsers progress I wouldn't be surprised they'll soon be able to cope with it without hassles. In fact, with the limited testing I've given to the various interfaces, I found ie to be the one that works best with Opera and SeaMonkey, even better than the 'specific' ones (at least with the versions of the browsers I'm using, very recent even if not bleeding-edge). So I was wondering if it was worth to just fix the minor glitches in the ie interface and give it as good for any recent browsers, and only use the other interfaces for the oldest versions. I think this would reduce maintenance cost. Anyway, the crucial point of this email is that the biggest glitch I've found with the ie interface in Opera and Mozilla has been the sound playing. It "almost" work, in the sense that neither Opera nor Mozilla support the play() method for HTMLEmbedElement objects in JavaScript: this causes a JavaScript error that halts the script execution (so for example join messages are not seen). I'm looking for a cross-platform JavaScript to play/pause/stop sounds. In the mean time, I suggest the ie template be updated to change if (sound) sound.play(); into if (sound) { if(sound.play) sound.play() } to make the script work without fail in all browsers. Further possible enhancements consists in adding the attribute enablejavascript="true" to the <embed> elements, and use width=0 height=0 instead of hidden="true". -- Giuseppe "Oblomov" Bilotta "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." Benjamin Franklin |