Moin!
Standard Vorbemerkung:
Es geht hier um eine Applikation die nur für Gecko Browser gedacht ist und nur mit aktiviertem JavaScript funktionieren soll.
Aufgrund der Tipps, die ich hier bisher bekommen habe, habe ich einen großen Teil der Applikation nun umgestellt, bin aber jetzt an einem Punkt, an dem ich nochmal Hilfestellung gebrauchen könnte.
Runtergebrochen auf ein Beispiel sieht das ganze so aus:
<html>
<head>
<script>
function doLink() {
alert("Hier bin ich");
return false;
}
function init() {
var a= document.getElementsByTagName( 'a' );
a[0].onclick=doLink;
var body= document.getElementsByTagName( 'body' ).item(0);
body.appendChild( a[0].cloneNode( true ) );
}
</script>
</head>
<body onload="init()">
<a href="http://www.google.de/">a[0].onclick=doLink;</a>
</body>
</html>
Ich kopiere den einen link mit cloneNode( true ). Zuvor habe ich dem Original einen onclick Handler verpaßt.
Nun gibt es 2 Probleme:
1. Der Clone hat keinen onclick handler
2. Das Original liefert mir im FireFox eine Fehlermeldung:
Error: [Exception... "'Permission denied to set property XULElement.selectedIndex' when calling method: [nsIAutoCompletePopup::selectedIndex]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "JS frame :: file:///Users/me/Desktop/links.html :: doLink :: line 5" data: no]
Source File: file:///Users/me/Desktop/links.html
Line: 5
-
Hat jemand eine Idee, warum der Handler im Clone fehlt? Darf ich eventuell so gar nicht Teile eines Dokuments kopieren?
-
Was will mir die Fehlermeldung (die in mozilla nicht auftritt) sagen und was kann ich dagegen unternehmen?
Vielen Dank schonmal,
-- Skeeve