Code auswählen: 4 Leerzeichen

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
salnet
Mitglied
Beiträge: 2
Registriert: 17.10.2008 21:30

Code auswählen: 4 Leerzeichen

Beitrag von salnet »

Hallo,
ich habe ein kleines Problem bei meinem phpBB 3.0.2 mit dem Standardtheme.
Wenn ich irgendwo einen Code poste, habe ich hinterher ja dieses "Code: Alles auswählen". Wenn ich jetzt auf "Alles auswählen" klicke, wird der Inhalt des Codeblocks in die Zwischenablage kopiert. Soweit funktioniert das ganze auch. Jedoch habe ich am Anfang des kopierten Codes 4 Leerzeichen, die da nicht hingehören.

Gibt es eine Möglichkeit, dieses Manko zu beheben?
salnet
Mitglied
Beiträge: 2
Registriert: 17.10.2008 21:30

Beitrag von salnet »

Ich habe jetzt ein bisschen rumgetestet und denke, dass ich das Problem eingrenzen konnte.
Internet Explorer und Safari haben an dieser Stelle kein Problem; es gibt dort keine Leerzeichen.
Allerdings haben Firefox und Opera das Problem.

Ich denke, es hat etwas mit der JacaScript-Funktion in forum_fn.js zu tun, die den Text auswählt:

Code: Alles auswählen

function selectCode(a)
{
	// Get ID of code block
	var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0];

	// Not IE
	if (window.getSelection)
	{
		var s = window.getSelection();
		// Safari
		if (s.setBaseAndExtent)
		{
			s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
		}
		// Firefox and Opera
		else
		{
			var r = document.createRange();
			r.selectNodeContents(e);
			s.removeAllRanges();
			s.addRange(r);
		}
	}
	// Some older browsers
	else if (document.getSelection)
	{
		var s = document.getSelection();
		var r = document.createRange();
		r.selectNodeContents(e);
		s.removeAllRanges();
		s.addRange(r);
	}
	// IE
	else if (document.selection)
	{
		var r = document.body.createTextRange();
		r.moveToElementText(e);
		r.select();
	}
}
Leider sind meine JavaScript-Kenntnisse nur sehr begrenzt, so dass ich das Problem nicht selber lösen kann.

Wenn jemand ein Idee hat, wie man das Problem lösen kann...
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“