Safari & document.selection

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Safari & document.selection

    Hallo,
    habe folgendes Script zum ersetzen von BBCode, leider kennt der MAC Safari weder:
    document.selection
    noch
    document.forms[form].elements[field].selectionStart
    PHP-Code:
    function bbcode(form,field,v)
     { 
     if (!
    document.forms[form].elements[field].selectionStart){
          
    alert("safari");
     }
     if (!
    document.selection){
         
    alert("safari");
     }
    // for IE
     
    if (document.selection
       {
        var 
    str document.selection.createRange().text;
        
    document.forms[form].elements[field].focus();
        var 
    sel document.selection.createRange();
        
    sel.text "[" "]" str "[/" "]";
        return;
       }
    // for Mozilla
      
    else if ((typeof document.forms[form].elements[field].selectionStart) != 'undefined'
       {
        var 
    txtarea document.forms[form].elements[field];
        var 
    selLength txtarea.textLength;
        var 
    selStart txtarea.selectionStart;
        var 
    selEnd txtarea.selectionEnd;
        var 
    oldScrollTop txtarea.scrollTop;
        var 
    s1 = (txtarea.value).substring(0,selStart);
        var 
    s2 = (txtarea.value).substring(selStartselEnd)
        var 
    s3 = (txtarea.value).substring(selEndselLength);
        
    txtarea.value s1 '[' ']' s2 '[/' ']' s3;
        
    txtarea.selectionStart s1.length;
        
    txtarea.selectionEnd s1.length s2.length v.length 2;
        
    txtarea.scrollTop oldScrollTop;
        
    txtarea.focus();
        return;
       }
      else 
    insert(form,field,'[' '][/' '] ');
     } 
    Weiß jemand Rat???
    "I don't want to belong to any club that would accept me as a member."

    Groucho Marx

  • #2
    Kann meine Frage noch etwas spezifizieren:
    mit diesem Codeschnipsel kann ich Text auf der Seite selektieren;
    aber wie komme ich an Text in der Text Area ran??
    PHP-Code:
    else  if (window.getSelection// for Safari
       
    {try{
       
       var 
    str window.getSelection();
        
    alert (str);
        
    document.forms[form].elements[field].focus();
        var 
    sel window.getSelection();
        
    sel.text "[" "]" str "[/" "]";
       }catch(
    e){alert(e);}
        return;
       } 
    "I don't want to belong to any club that would accept me as a member."

    Groucho Marx

    Kommentar


    • #3
      So, hier meine Notlösung:
      PHP-Code:
      if (window.getSelection){
          var 
      safari '[link]http://HIER BITTE DIE LINK ADRESSE EINGEBEN[/link]';
          
      document.forms[form].elements[field].value += safari;
          
      document.forms[form].elements[field].focus();

      kennt jemand eine Seite, die auf Safari Javascript spezialisiert ist?
      "I don't want to belong to any club that would accept me as a member."

      Groucho Marx

      Kommentar

      Lädt...
      X