Kai345: BBCodes (Fortsetzung)

Beitrag lesen

[latex]Mae  govannen![/latex]

Also im Opera funktioniert sie nicht. Er hängt sich an der 2. if-Bedingung if(message.isTextEdit){ auf.

Wundert mich nicht. Zum einen wurde bei dieser If-Abfrage auf einen Vergleich per typeof-Operator verzichtet, was ein Script ohnehin abbrechen ließe, sollte die Eigenschaft/Methode nicht existieren; außerdem wurde Opera völlig unnötigerweise über das fast immer sehr unsinnige Browsersniffing if(navigator.appName=="Netscape"..) vom ersten Zweig ausgeschlossen, obwohl Opera diese Eigenschaften kennt.

Daher ist

Sollte die wichtig sein für den IE, würde ich hier ggf. mit window.opera nachrüsten:

[...]

mit

else if( typeof document.selection != "undefined" ) {

nicht sinnvoll.

function getSelectedText(theForm) {  
   var message = theForm.message;  
   var selected = '';  
   if(typeof message.textLength != "undefined" && typeof message.selectionStart != "undefined") {  
      alert("Zweig 1");  
      if (message.textLength>=0 && message.selectionStart!=message.selectionEnd ) {  
         selected=message.value.substring(message.selectionStart,message.selectionEnd);  
      }  
   }  
   else if( typeof document.selection != "undefined" ) {  
      alert("Zweig 2");  
      if(typeof message.isTextEdit != "undefined"){  
         message.focus();  
         var sel = document.selection;  
         var rng = sel.createRange();  
         rng.colapse;  
         if((sel.type == "Text" || sel.type == "None") && rng != null){  
            if(rng.text.length > 0) selected = rng.text;  
         }  
      }  
   }  
   return selected;  
}

funktioniert in FF _und_ Opera und nutzt beide Male Zweig 1

Cü,

Kai

--
A workaround for an avoidable problem often adds clutter and overhead to the program which
could have been avoided by not creating the problem in the first place.(Garrett Smith/clj)
Foren-Stylesheet Site Selfzeug JS-Lookup
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?