Ankündigung

Einklappen
Keine Ankündigung bisher.

FF zu IE mit frame und co ?

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

  • FF zu IE mit frame und co ?

    So juhu fast fertig mit dem Editor
    *und ich raste auch bald aus*

    So
    Code:
     parent.frames[1].editor.window.document.execCommand(command, false, parameter);
    Das ist der FF Code ...

    kann mir den jemand in IE machen?

    dann habe ich ein beispiel und kann den restlichen kram davon ableiten wäre nett wenn das jemand macht!

    Dann kann ich den Editor fertigstellen und hier im Forum posten mit kleinem tut

    PS: Ich spendier auch ne Runde Forum Bier


  • #2
    aber ordentlich... halb besoffen ist rausgeschmissenes geld... ^^

    helfen kann ich dir aber leider nicht

    Kommentar


    • #3
      Ähm hast du 2 Frames in deiner Seite oder warum schreibst du frames[1]?
      Desweiteren ist es wohl praktischer, wenn du dem iFrame eine ID gibst und dann irgendsowas machst:
      Code:
      var wysiwyg = document.getElementById('iframeID');
      Dann musst du nicht immer so mühsam überlegen, ob du dich gerade im iFrame befindest oder nicht etc.
      Und was ist "editor"? Ist das die ID oder der Name deines DIVs (Verstehe immer noch nicht, warum du da ein DIV brauchst )?

      Also folgendes sollte eigentlich in allen Browsern funktionieren (Hab das editor mal drin gelassen, obwohl ich bezweifle, dass das stimmt, da zwischen dem Frame-Objekt und den contentWindow oder dem window eigentlich nix stehen darf/soll):

      Code:
      parent.frames[1].editor.contentWindow.document.execCommand()
      oder
      wysiwyg.editor.contentWindow.document.execCommand()
      Falls es also nicht funktionieren sollte, lass mal das editor weg!

      Gruss

      Kommentar


      • #4
        jo thx habe das so ca.^^

        habe da was schönes neues

        Code:
        function enterLink(){
            var url = prompt("URL angeben:","http://");
            var alt = prompt("Bitte Beschreibung für die URL angeben:","");
        if (isMSIE)
                {
            var marked =   parent.frames[1].editor.document.selection.createRange().text;
            var neu ="<a href=\""+url+"\" title=\""+alt+"\">"+marked+"</a>"; 
            var range = parent.frames[1].editor.document.selection.createRange().text.innerHtml=neu;
            }
        .....
        so der innerHtml funzt auf das selection text objekt nicht das soll es aber (was auch sonst *gg*)

        hat da jemand ne Idee? ich bastel seit ner halben stunde aber es hilft nicht wirklich und google befriedigt mich jetzt auch nicht mit antworten

        Kommentar


        • #5
          Versuchs mal mit der Funktion pasteHTML()!
          range.text ist eigentlich readOnly!

          Ich würde dann aber in der Funktion zuerst noch abfragen, ob der selektierte Bereich vielleicht schon ein Link ist, sprich ob die Range ein parentNode mit nodeName "a" besitzt (sprich ein <a>-Tag). Dann musst du die Attribute href und title (das alt-Attribute hast du übrigens vergessen) nur noch anpassen und nichts neues reinschreiben! Sonst hast du einen doppelten Link, was sicher nicht gut geht

          Gruss

          Kommentar


          • #6
            boar nen mega danke das hat mir gefehlt die Sicherheitsabfragen müssen noch da hast du recht, kommen bald

            Boar dann ist das ding ja erstmal soweit einsatzbereit geile Sache

            kommst aus der nähe Hannover? Dann komm ich mit 1-2 Kisten Bier vorbei

            Kommentar


            • #7
              LOL nö ich wohne inner Schweiz, müsstest du die Kisten wohl ne ziemliche Strecke schleppen und die Gefahr, dass beide Kisten bei deiner Ankunft nur noch leere Flaschen beinhalten würden, wäre wohl ziemlich gross

              Kommentar


              • #8
                hehe so habe doch noch ein kleines problemchen und ich weiß ums verrecken nicht woran es liegt...

                Code:
                function send_content(){
                    if (isMSIE)
                        {
                    var marked =     parent.frames[1].editor.document.getElementById('divEditable').innerHTML;
                    parent.frames[1].document.forms[0].content=marked;
                    parent.frames[1].document.forms[0].submit();
                    }else if(isFF){
                    var marked = parent.frames[1].editor.window.document.getElementById('divEditable').innerHTML;
                    parent.frames[1].window.document.forms[0].content.value=marked;
                    parent.frames[1].window.document.forms[0].submit();
                
                    }
                    return true;
                }
                FF geht IE nicht ..

                er sagt das submit() nicht von dem objekt ausführbar ist... aber warum? wo den sonst wenn nicht im form grml and wtf

                *sich nen bild von MS ausdruck auf A3 und anzünden*

                Kommentar


                • #9
                  kA, was du hier machst, aber stimmt wohl nicht:

                  Code:
                  parent.frames[1].document.forms[0].content=marked;
                  Ich nehme mal an, dass content der name eines <textarea> ist!

                  Die meisten mir bekannten WYSIWYG Editoren ersetzen ein normalers <textarea> in einem Form durch einen WYSIWYG Editoren und schreiben dann beim onsubmit() den HTML-Code aus dem Editor in das <textarea> zurück und verschicken das Formular so ganz normal!

                  Gruss

                  Kommentar


                  • #10
                    nein es ist ein normales div...

                    Kommentar


                    • #11
                      Und wie willst du dem Form beibringen, dass er den Inhalt aus einem <div> nehmen soll! Ich würde vorschlagen, dass du beim Aufrufen der send-Funktion ein <form> und ein <textarea> mit dem HTML-Code des Editors erstellst, das ganze in den DOM des Ursprungs-Dokument einfügst und dann abschickst!


                      Gruss

                      Kommentar


                      • #12
                        nene ...

                        wenn ich auf übernehmen klicke speichert ne js Funktion die ganzen geschriebenen Sachen aus dem div in einem Hidden Feld und dann wirds mit submit() versendet... nur halt im ie nicht warum auch immer

                        Kommentar

                        Lädt...
                        X