Hi, danke! Ich habs grad auf einem frisch installierten ff 3.5.3 probiert...geht ebenfalls nicht. Wirklich genauso markiert...ich hänge mal ein screenshot an:
[gelöst] window.getSelection() -> html-code
Einklappen
X
-
Zitat von TriphunEM Beitrag anzeigenIch habs grad auf einem frisch installierten ff 3.5.3 probiert...geht ebenfalls nicht.[COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
[/COLOR]
Kommentar
-
Zitat von TriphunEM Beitrag anzeigenIch bekomm die Clone-Variante nicht so richtig hin, weiß nicht so richtig wie das zusammen spielt...Könntest du mir das im Code vielleicht umschreiben???[COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
[/COLOR]
Kommentar
-
Oh, hab ich übersehen. Ja damit geht es. Allerdings hab ich einen komischen effekt, da die markierung im Browser nicht mehr so einfach weggeht, irgendwie komisch. Hier jetzt mal die Funktion:
PHP-Code:function getSelectedText() {
var strHtml = "";
if (document.selection && document.selection.createRange) {
strHtml = (document.selection.createRange()).htmlText;
} else if (window.getSelection) {
var strSelection = window.getSelection();
for(var a=0; a<strSelection.rangeCount; a++) {
var strSpan = document.createElement("span");
var intRange = strSelection.getRangeAt(a);
var objDocFragment = intRange.cloneContents();
intRange.detach();
var objWrapper = document.createElement("div");
objWrapper.appendChild(objDocFragment);
strHtml+= objWrapper.innerHTML;
}
strSelection.removeAllRanges();
}
strHtml = strHtml.replace(/\r\n|\n|<br>|<br\/>/g,"<br />");
return strHtml;
}
Kommentar
-
Zitat von TriphunEM Beitrag anzeigenda die markierung im Browser nicht mehr so einfach weggeht
Ich vermute mal, dass deine Variablen mit Typpräfix benannt sein sollen. Da aber weder intRange ein int ist noch strSelection ein string, hab ich mir mal erlaubt, das zu korrigieren.
Die auskommentierte Zeile macht keinen Sinn, nicht einmal, wenn der fehlende Backslash durch die Forensoftware verursacht wurde. Umbrüche willst du nicht durch br ersetzen, weil sonst aus
HTML-Code:<p> Hallo Welt, heute will ich euch mal was über <a href="http://de.wikipedia.org/wiki/Brummkreisel">Brummkreisel</a> verraten... </p>
HTML-Code:<p><br /> Hallo Welt, heute will ich euch mal was über<br /> <a href="http://de.wikipedia.org/wiki/Brummkreisel">Brummkreisel</a><br /> verraten...<br /> </p><br />
Jetzt könntest du noch argumentieren, dass du <br> durch <br /> ersetzen willst, aber das ist auch nicht notwendig, weil du mit DOM-Methoden gearbeitet hast und nicht mit direkter HTML-Manipulation, so dass alle <br>s ohnehin schon zu <br /> wurden.
Hier der Code:
Code:function getSelectedText() { var strHtml = ""; if (document.selection && document.selection.createRange) { var objRange = document.selection.createRange(); strHtml = objRange.htmlText; objRange.collapse(true); } else if (window.getSelection) { var objSelection = window.getSelection(); for(var a=0; a < objSelection.rangeCount; a++) { var objRange = objSelection.getRangeAt(a); var objDocFragment = objRange.cloneContents(); var objWrapper = document.createElement("div"); objRange.collapse(true); objRange.detach(); objWrapper.appendChild(objDocFragment); strHtml += objWrapper.innerHTML; } objSelection.removeAllRanges(); objSelection.collapse(document.body, 0); } //strHtml = strHtml.replace(/rn|n|<br>|<br/>/g,"<br />"); return strHtml; }
Amica[COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
[/COLOR]
Kommentar
Kommentar