הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה עם wysiwyg ו JS (https://hosts.co.il/forums/showthread.php?t=88049)

Skfir 17-02-11 16:14

עזרה עם wysiwyg ו JS
 
קוד:

function blockformat(tag) {
        if(document.selection){
                var Editor = document.getElementById('iView').contentWindow.document;
                var range = Editor.selection.createRange();
                if (range.pasteHTML) {
                        var content=Editor.selection.createRange().htmlText;
                        content1="<"+tag+">"+content+"</"+tag+">";
                        range.pasteHTML(content1);
                }
        }  else if (window.getSelection) {
                var Editor = document.getElementById('iView').contentWindow;
                var range = Editor.getSelection().getRangeAt(0);
                content1="<"+tag+">"+range+"</"+tag+">";
                getIFrameDocument('iView').execCommand('insertHTML',false, content1);
        }
}

הכנתי wysiwyg עכשיו הקוד הזה שהכנתי למעלה הוא לוקח את מה שסימנתי ב iframe של העורך טקסט מקבל תג כלשהו למשל div ומכניס לעורך טקסט ככה
<div>טקסט</div>
עכשיו אני רוצה להוסיף לזה שברגע שילחצו עוד הפעם זה יבטל את התג שהוכנס בלחיצה הראשונה.
כמו execcmmand שעושים למשל עם bold שלוחצים על bold זה מדגיש את הטקסט שלוחצים שוב על bold זה מבטל את ההדגשה.

BlueNosE 17-02-11 17:08

סתם מתוך סקרנות, למה אתה מכין WYSIWYG משלך? זה יקח לך המון זמן להגיע לרמה גבוהה ויש המון פתרונות מוכנים.

לגבי השאלה, תבדוק לפי הoffset של הטקסט המסומן האם התג קיים מסביבו. רצוי שתבדוק עם RegExp.

SwfIt 17-02-11 17:29

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 796400)
סתם מתוך סקרנות, למה אתה מכין WYSIWYG משלך? זה יקח לך המון זמן להגיע לרמה גבוהה ויש המון פתרונות מוכנים.

לגבי השאלה, תבדוק לפי הoffset של הטקסט המסומן האם התג קיים מסביבו. רצוי שתבדוק עם RegExp.

אתה יכול לתת דוגמא למוכנים האלה?

והאם יש להם איזשהוא דוקומינטציה לגבי כל מיני פונקציות ומיקום של דברים, כדי שיהיה קל לשנות אותם לצרכים אישיים?

Skfir 17-02-11 17:52

כל המוכנים האלה על הפנים אי אפשר ללמוד מהקוד שלהם בכלל הכל מוצפן ומבולגן ויותר מדי קבצים ומגעיל

הוספתי
קוד:

                if (content.indexOf(tag.toUpperCase()) >= 0) {
                        content1 = content.replace("<"+tag.toUpperCase()+">", "");
                        content1 = content1.replace("</"+tag.toUpperCase()+">", "");
                        range.pasteHTML(content1);
                } else {
                        content1="<"+tag+">"+content+"</"+tag+">";
                        range.pasteHTML(content1);
                }

זה כאילו בודק אם התג כבר קיים בתוכן שסומן ואם הוא קיים הוא מוריד אותו...
סבבה אני עוששה alert של התוכן הוא מראה לי בלי התג ואז שאני מכניס אותו עם ה pastehtml הוא פשוט לא מוסיף את התג שוב פעם אבל הוא גם לא מוריד את התג הקודם... הוא פשוט נשאר אותו דבר

BlueNosE 17-02-11 18:41

ציטוט:

נכתב במקור על ידי Skfir (פרסם 796405)
כל המוכנים האלה על הפנים אי אפשר ללמוד מהקוד שלהם בכלל הכל מוצפן ומבולגן ויותר מדי קבצים ומגעיל

על מה אתה מדבר?
http://ckeditor.com/
זה פרוייקט Open Source מדהים ויעיל בצורה מעולה. גם קודמו, FCKEditor, היה Open Source מלא.

יש דוקומנטציה ברמה הגבוהה ביותר.
למה לשבור את הראש?

IgalSt 17-02-11 19:04

אני גם ממליץ בחום על ckeditor.
אם אתה לא מסתדר איתו, יש גם את TinyMCE.

אישית אני מעדיף את ckeditor בגלל הדוקומנטציה הטובה שלו והפשטות של הפיתוח עליו, בניגוד ל-TinyMCE שלא מתודעה בצורה נוחה משום מה.

Skfir 17-02-11 19:21

לא קשור לא מסתדר
אי אפשר לקרוא שם את הקודים אי אפשר לשנות כלום לתועלת אישית הכל מוצפפן ומבולגן ומליון ואחד קבצים
ב ckeditor מחקתי חצי מהקבצים נשארתי אולי עם 2 תיקיות חשובות וזה עדיין לא מחק לי שום דבר מהעורך לא שינה בו כלום :\

BlueNosE 17-02-11 19:59

חח אתה רציני?
יש דרכים יותר פשוטות להתמודד עם זה. כמו למשל.. לקרוא את התיעוד של זה ולהבין שמאוד פשוט להתאים את הסרגל כלים לרצונך. למחוק תיקיות לא עוזר! זה רק יכול לפגוע.

אתה צריך לשנות את קובץ הconfig - זה יותר פשוט משנדמה לך.

Skfir 17-02-11 20:18

בסדר config אבל אני מנסה כממה שיותר להוריד תיקיות כי יש שם יותר מדי קבצים
אני למשל מנסה ללמוד מהקוד שלהם איך הם עשו את הסרגל כלים אני אפילו לא מוצא את זה

בניה 17-02-11 22:57

מדובר בקוד שכדאי לך פשוט להשתמש בו לפי ההוראות הפעלה כי מספיק אנשים עברו עליו בשבילך ואם יש תקיות נפרדות-כנראה יש סיבה טובה לזה.
אם הקוד מאוד מעניין אותך תוריד את הקוד מהSVN
http://nightly.ckeditor.com/


כל הזמנים הם GMT +2. הזמן כעת הוא 15:45.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ