Bug #16991
closedAJAX navtree does not expand in Konqueror
0%
Description
The AJAX pagetree does not work in Konqueror 3.5.0.
This makes it hard to use TYPO3 with this browser. Everything worked well with older TYPO3 versions...
If this can't be fixed easily I suggest that we just use the traditional navtree for Konqueror.
Any other browsers that make trouble?
(issue imported from #M4993)
Files
Updated by Benni Mack almost 18 years ago
I'll put out a bugfix patch during the weekend.
Updated by Benni Mack almost 18 years ago
Please try the patch. If no one objects, I think it will make it into 4.1RC2
Updated by Michael Stucki almost 18 years ago
Hi Benjamin, thanks for working on this issue! However, I just tried it out, and the problem is still there.
What happens is this: I can collapse the trees, then the "-" icon becomes a "+". After clicking it again, the icon changes back to a "-", but the tree does not expand.
Updated by Michael Stucki almost 18 years ago
After some debugging using plain alert() calls (how can one debug JavaScript in Konqueror?) I think I found the problem. However, I am totally unsure what else this will break - I just can say that it works now in Konqueror, IE6, and in Firefox.
See attached patch "bug_4993_post1.diff".
While checking this I also found out that the whole navigation tree is not working anymore (even collapsing won't work!) in IE5 and IE5.5. But if I remember correctly, it worked fine with TYPO3 4.0, and so it should keep doing that, just skipping the AJAX functionality.
Can you make that change, please? (I expect it must be something pretty simple, right?)
Updated by Benni Mack almost 18 years ago
1) I somehow got a debugger with konqueror in ubuntu after installing some plugins & turning on some options.
2) I changed that to what it is / was, because of this here. Prototype.js creates the document.getElementsByclassName and expects 2 arguments.
this is from prototype.js
------
document.getElementsByClassName = function(className, parentElement) {
if (Prototype.BrowserFeatures.XPath) {
var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
return document._getElementsByXPath(q, parentElement);
} else {
var children = ($(parentElement) || document.body).getElementsByTagName('*');
var elements = [], child;
for (var i = 0, length = children.length; i < length; i++) {
child = children[i];
if (Element.hasClassName(child, className))
elements.push(Element.extend(child));
}
return elements;
}
};
------
3) also, we had this behaviour (like you diffed) before my change and the error occured. Somehow konqueror is stupid. Maybe I'll come up with another idea (we don't need the byClassName. There will be another way... :-)).
4) the fallback was also implemented some time ago. I'll dig into this maybe tonight or tomorrow with testing the latest SVN trunk with konqueror, ff 2, IE 5.0, 5.5, 6 and 7.
stay tuned.
Updated by Ingmar Schlecht almost 18 years ago
Stucki, your patch wasn't really doing what it's supposed to do as just leaving the second argument to getElementsByClassName is no option.
Please test my patch and report if it works.
cheers
Ingmar
Updated by Michael Stucki almost 18 years ago
Thanks Ingmar. I never claimed that my patch was final, because I yet have no clue how this is working. It just fixed my problem.
But after testing your version, I can confirm that this works too, and since it's probably the better solution, I have now removed my patch.
Updated by Benni Mack almost 18 years ago
We also have another getElementsByClassName in the DragDrop part of the same file. should we change that too?
Updated by Michael Stucki almost 18 years ago
Drag and drop seems to work fine in Konqueror, so I don't think we need to change it there.
I also checked the contents of the "elements" array which is built by that. It always contains a number of HTML objects, at least it was never empty...
Updated by Benni Mack almost 18 years ago
That should do it. With this patch applied ( pagetree_konqueror_and_ie_final.diff, made from the SVN trunk) the pagetree (even with AJAX in IE 5.5!) works in IE 5.5, IE 6, IE 7, Konqueror, and FF 2. I tested it a lot and no errors came up. DragDrop works now in all browsers too.
enjoy your day!
Updated by Ingmar Schlecht almost 18 years ago
Thanks, I've committed it to trunk.
Updated by Michael Stucki almost 18 years ago
Thanks, it is working fine now!
Benjamin: In future, please don't close bugs before they are committed to SVN.
We are using the following values for TYPO3:
- Resolved: Committed to SVN
- Closed: The fix is part of the latest stable version