The toggle plugin has no effect when viewed on the Safari web browser.

All toggles appear open all the time.

I don't know if this is true for other webkit browsers (the new Konqueror, the iPhone, etc). I'm currently testing in the Safari nightly builds, but I've seen the bug in the current release of Safari too.

Looking at the Safari Web Inspector, it believes there is a parse error on line 47 of the news page. This is the definition of the getElementsByClass(class) function.

45 }
47 function getElementsByClass(class) {
   SyntaxError: Parse error
48  var ret = new Array();

Reproduced in epiphany-webkit on debian.

Also noticed something interesting when I opened the page in vim. It highlighted the "class" like a type definition, not a variable. Sure enough, replacing with "c" fixed it.

I wonder if webkit is actually in the right here, and using a reseved word like, presumably, "class" as a variable name is not legal. As I try to ignore javascript as much as possible, I can't say. done --Joey

I also started having a look at this. I found the same issue with the the variable 'class'. I'm not a javascript guru so I looked on the web at other implementations of getElementsByClass() and noticed some things that we might use. I took a bunch of different ideas and came up with this:

function getElementsByClass(cls, node, tag) {
    if (document.getElementsByClass)
        return document.getElementsByClass(cls, node, tag);
    if (! node) node = document;
    if (! tag) tag = '*';
    var ret = new Array();
    var pattern = new RegExp("(^|\\s)"+cls+"(\\s|$)");
    var els = node.getElementsByTagName(tag);
    for (i = 0; i < els.length; i++) {
        if ( pattern.test(els[i].className) ) {
    return ret;

Most of the changes are minor, except that this one will use the built in function if it is available. That is likely to be significantly faster. Adding the extra parameters doesn't cause a problem -- they're filled in with useful defaults.

I don't know if it is worth making this change, but it is there if you want it.

Well, it seems to work. Although god only knows about IE. Suppose I might as well.. --Joey