[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
|