דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים

שתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים

מתוזמן נעוץ נעול הועבר תכנות
26 פוסטים 8 כותבים 2.1k צפיות 10 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • שלום עולם 0ש שלום עולם 0

    @dovid כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

    function toogleLeftRight

    אתה לא קורא לפונקציה הזו.

    dovidD מנותק
    dovidD מנותק
    dovid
    ניהול
    כתב ב נערך לאחרונה על ידי
    #8

    @שלום-עולם-0 ערכתי.

    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
    תגובה 1 תגובה אחרונה
    1
    • dovidD dovid

      יש ספריה מפורסמת rtlcss שמיועדת ל"תרגום" מדוייק לקבצי CSS, לא הבנתי איך היא עובדת.
      גם מחיפושי גוגל לא מצאתי משהו מוכן למרות שיש בטוח הרבה. כתבתי משהו בסיסי, אפשר להרחיב אותו:

      const leftRightStyles = ['margin', 'padding', 'border'];
      const leftRightToogle = ['float', 'text-align'];
      const css = document.styleSheets;
      
      for(const ss of css)
      for(const rule of ss.cssRules)
          if(rule.style)
              editStyle(rule.style);
      
      for(const el of document.querySelectorAll('*[style]'))
          editStyle(el.style);
      
      document.dir = "rtl";
      
      function editStyle(style){
          spawnCss(style, 'left', 'right');
          spawnDir(style);
          
          for (const name of leftRightStyles) 
              spawnCss(style, name + 'Left', name + 'Right');      
          for (const name of leftRightToogle) 
              toogleLeftRight(style, name);      
      }
      
      function spawnCss(style, prop1, prop2){
          const a = style[prop1];
          const b = style[prop2];
          if(a != b){
            style[prop1] = b;
            style[prop2] = a;
          }
      }
      
      function spawnDir(style){
          const a = style['direction'];
          if(a)
              style['direction'] = (a == 'ltr' ? 'rtl' : 'ltr');
      }
      
      function toogleLeftRight(style, prop){
          const a = style[prop];
          if(a == 'left')
               style[prop] = 'right';
          else if(a == 'right')
               style[prop] = 'left';
      }
      

      נ.ב. למה לא להשתמש בedge וזהו?

      שלום עולם 0ש מנותק
      שלום עולם 0ש מנותק
      שלום עולם 0
      כתב ב נערך לאחרונה על ידי שלום עולם 0
      #9

      @dovid לאחר העיון אני לא מצליח להבין מה הקוד שלך מחדש.

      dovidD תגובה 1 תגובה אחרונה
      0
      • שלום עולם 0ש שלום עולם 0

        @dovid לאחר העיון אני לא מצליח להבין מה הקוד שלך מחדש.

        dovidD מנותק
        dovidD מנותק
        dovid
        ניהול
        כתב ב נערך לאחרונה על ידי
        #10

        @שלום-עולם-0 לא בטוח שמחדש, ניסיתי לפתור את הבעיה (במקרה בדקתי על האתר שהבאת בבעיה 2 בהודעה הפותחת).
        הקוד שלי לא מושלם אבל הוא לא רחוק משלמות, אם תעיר לי מקומות שפציפיים שהקוד לא מסדר טוב אשמח לשפרו.

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        shragaS שלום עולם 0ש פ 3 תגובות תגובה אחרונה
        1
        • dovidD dovid

          @שלום-עולם-0 לא בטוח שמחדש, ניסיתי לפתור את הבעיה (במקרה בדקתי על האתר שהבאת בבעיה 2 בהודעה הפותחת).
          הקוד שלי לא מושלם אבל הוא לא רחוק משלמות, אם תעיר לי מקומות שפציפיים שהקוד לא מסדר טוב אשמח לשפרו.

          shragaS מנותק
          shragaS מנותק
          shraga
          כתב ב נערך לאחרונה על ידי shraga
          #11

          @dovid

          באתר הזה לדוגמא
          https://mrcoles.com/bookmarklet/

          עם הסקריפט שלך:
          92e99a8b-591e-44ce-903d-3fae1a98ba85-image.png

          עם הסקריפט של יוסף בן שמעון
          497f635a-3031-4a21-b390-e812b672db40-image.png

          בסקריפט שלך הטקסט מיושר מימין לשמאל (בשונה מהסקריפט השני), אבל הטקסט עצמו בשילוב אנגלית לא מופיע תקין (בשונה מהשני בו הטקסט עצמו מופיע תקין אבל מיושר לשמאל).

          בנוסף, באתר הזה
          https://sandbox.self.li/bookmarklet-to-extension/
          הסקריפט שלך לא משנה שום דבר בשונה מהשני.

          קונים בעלי אקספרס? התוסף שיעזור לכם ✅ למצוא את המחיר הכי זול למוצר בעלי אקספרס , ✅ לחפש כל מוצר שמצאתם באינטרנט ישירות בעלי , ✅ להשוות מחירים עם טימו 👈 התקינו חינם!⚡

          dovidD תגובה 1 תגובה אחרונה
          2
          • shragaS shraga

            @dovid

            באתר הזה לדוגמא
            https://mrcoles.com/bookmarklet/

            עם הסקריפט שלך:
            92e99a8b-591e-44ce-903d-3fae1a98ba85-image.png

            עם הסקריפט של יוסף בן שמעון
            497f635a-3031-4a21-b390-e812b672db40-image.png

            בסקריפט שלך הטקסט מיושר מימין לשמאל (בשונה מהסקריפט השני), אבל הטקסט עצמו בשילוב אנגלית לא מופיע תקין (בשונה מהשני בו הטקסט עצמו מופיע תקין אבל מיושר לשמאל).

            בנוסף, באתר הזה
            https://sandbox.self.li/bookmarklet-to-extension/
            הסקריפט שלך לא משנה שום דבר בשונה מהשני.

            dovidD מנותק
            dovidD מנותק
            dovid
            ניהול
            כתב ב נערך לאחרונה על ידי
            #12

            @shraga הקוד שלי נכשל באתרים האלו, תראה בקונסול שיש שגיאה.
            אני לא יודע איך להתגבר על השגיאה הזו, מדובר בד"כ באתרים עם נורמות מודרניות יותר.

            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
            תגובה 1 תגובה אחרונה
            1
            • dovidD dovid

              @שלום-עולם-0 לא בטוח שמחדש, ניסיתי לפתור את הבעיה (במקרה בדקתי על האתר שהבאת בבעיה 2 בהודעה הפותחת).
              הקוד שלי לא מושלם אבל הוא לא רחוק משלמות, אם תעיר לי מקומות שפציפיים שהקוד לא מסדר טוב אשמח לשפרו.

              שלום עולם 0ש מנותק
              שלום עולם 0ש מנותק
              שלום עולם 0
              כתב ב נערך לאחרונה על ידי שלום עולם 0
              #13

              @dovid כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

              לא בטוח שמחדש, ניסיתי לפתור את הבעיה (במקרה בדקתי על האתר שהבאת בבעיה 2 בהודעה הפותחת).
              הקוד שלי לא מושלם אבל הוא לא רחוק משלמות

              זה מצויין אם כן. עלי לשלב אותו עם הקוד של @NH-LOCAL.

              @dovid כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

              הקוד שלי נכשל באתרים האלו, תראה בקונסול שיש שגיאה.
              אני לא יודע איך להתגבר על השגיאה הזו

              נעשה עם try כך שיפעל רק איפה שזה לא מזיק.

              תגובה 1 תגובה אחרונה
              1
              • zvizviZ מנותק
                zvizviZ מנותק
                zvizvi
                כתב ב נערך לאחרונה על ידי
                #14

                לידיעה, בattr על תגי html אפשר לשים dir="auto" שמחשב לבד את הכיוון על פי התוכן [תחילת התוכן].
                בcss רגיל זה לא קיים.
                ועל זה הדרך ברגע שהוגדר dir=auto גם text-align: start בcss יתנהג בהתאם.

                https://zvizvi.xyz

                שלום עולם 0ש תגובה 1 תגובה אחרונה
                4
                • zvizviZ zvizvi

                  לידיעה, בattr על תגי html אפשר לשים dir="auto" שמחשב לבד את הכיוון על פי התוכן [תחילת התוכן].
                  בcss רגיל זה לא קיים.
                  ועל זה הדרך ברגע שהוגדר dir=auto גם text-align: start בcss יתנהג בהתאם.

                  שלום עולם 0ש מנותק
                  שלום עולם 0ש מנותק
                  שלום עולם 0
                  כתב ב נערך לאחרונה על ידי
                  #15

                  @zvizvi כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                  אפשר לשים dir="auto" שמחשב לבד את הכיוון על פי התוכן [תחילת התוכן].

                  הדפדפן באמת בודק את שפת התווים הראשונים?

                  yossizY תגובה 1 תגובה אחרונה
                  0
                  • שלום עולם 0ש שלום עולם 0

                    @zvizvi כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                    אפשר לשים dir="auto" שמחשב לבד את הכיוון על פי התוכן [תחילת התוכן].

                    הדפדפן באמת בודק את שפת התווים הראשונים?

                    yossizY מנותק
                    yossizY מנותק
                    yossiz
                    כתב ב נערך לאחרונה על ידי
                    #16

                    @שלום-עולם-0 למה אתה חושב ש @zvizvi יכתוב משהו לא אמיתי??

                    נ.ב. זה לא ממש מדוייק שהוא בודק את השפה, יותר מדוייק: הוא בודק את הכיוון
                    תקן יוניקוד מגדיר "כיוון" לכל תו, יש שלושה ערכים אפשריים: RTL, LTR, וניטרלי (למשל ? הוא תו ניטרלי, בתוך רצף של תווי LTR זה יתנהג כמו תו LTR ובתוך רצף של תווי RTL זה יתנהג כתו RTL)
                    הדפדפן קובע את כיוון התוכן לפי התו הראשון הלא ניטרלי

                    ע"ע

                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                    שלום עולם 0ש תגובה 1 תגובה אחרונה
                    7
                    • yossizY yossiz

                      @שלום-עולם-0 למה אתה חושב ש @zvizvi יכתוב משהו לא אמיתי??

                      נ.ב. זה לא ממש מדוייק שהוא בודק את השפה, יותר מדוייק: הוא בודק את הכיוון
                      תקן יוניקוד מגדיר "כיוון" לכל תו, יש שלושה ערכים אפשריים: RTL, LTR, וניטרלי (למשל ? הוא תו ניטרלי, בתוך רצף של תווי LTR זה יתנהג כמו תו LTR ובתוך רצף של תווי RTL זה יתנהג כתו RTL)
                      הדפדפן קובע את כיוון התוכן לפי התו הראשון הלא ניטרלי

                      ע"ע

                      שלום עולם 0ש מנותק
                      שלום עולם 0ש מנותק
                      שלום עולם 0
                      כתב ב נערך לאחרונה על ידי
                      #17

                      @yossiz כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                      @שלום-עולם-0 למה אתה חושב ש @zvizvi יכתוב משהו לא אמיתי??

                      זה הפתיע אותי ולכן רציתי לוודא, שמא

                      נ.ב. זה לא ממש מדוייק

                      תגובה 1 תגובה אחרונה
                      1
                      • shragaS shraga

                        @NH-LOCAL

                        אולי כדאי לחפור בקוד מקור של edge החדש (אם הוא פתוח לציבור, אני לא מצאתי) או דרך הdeveloper tools ולהבין את הדרך באמצעותה הוא מיישם את הריטול (בשונה מכרום) במקרה של תרגום לעברית.

                        ש מנותק
                        ש מנותק
                        ש.ב.ח.
                        כתב ב נערך לאחרונה על ידי ש.ב.ח.
                        #18

                        @shraga כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                        אולי כדאי לחפור בקוד מקור של edge החדש (אם הוא פתוח לציבור, אני לא מצאתי) או דרך הdeveloper tools ולהבין את הדרך באמצעותה הוא מיישם את הריטול (בשונה מכרום) במקרה של תרגום לעברית.

                        @dovid כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                        נ.ב. למה לא להשתמש בedge וזהו?

                        לצערי הedge גם לא מושלם.
                        באתרים בהם יש code בתוך הp וכדו'
                        כל הcode עובר לסוף הp. וזה ממש מטריד, אתה צריך בקריאה לפענח כל יחידת קוד לאיזה קטע בפסקה היא שייכת.

                        למשל, זה המקור:
                        f2e1d48a-cde3-4e2b-bf50-019542c01f37-image.png
                        וזה אחרי תרגום לעברית:
                        7a8683a1-af22-4174-8265-0fca0f2fc0ec-image.png

                        ש תגובה 1 תגובה אחרונה
                        4
                        • dovidD מנותק
                          dovidD מנותק
                          dovid
                          ניהול
                          כתב ב נערך לאחרונה על ידי
                          #19

                          אני לא יודע איך מתגברים על הבעיה שנתקלתי בה,
                          של שגיאת CORS בCSS חיצוני.
                          למשל באתר של stackoverflow, הדבקת הקוד הזה:

                          document.styleSheets[0].cssRules
                          

                          בקונסול, מביא שגיאה כזו:

                          caught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
                          

                          אני לא מצליח אם כן לכתוב קוד שיתקן את הCSS בהתאם למצופה.

                          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                          dovidD שלום עולם 0ש 2 תגובות תגובה אחרונה
                          1
                          • שלום עולם 0ש מנותק
                            שלום עולם 0ש מנותק
                            שלום עולם 0
                            כתב ב נערך לאחרונה על ידי
                            #20

                            העסק מתברר כמסובך משחשבתי.

                            תגובה 1 תגובה אחרונה
                            0
                            • ש ש.ב.ח.

                              @shraga כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                              אולי כדאי לחפור בקוד מקור של edge החדש (אם הוא פתוח לציבור, אני לא מצאתי) או דרך הdeveloper tools ולהבין את הדרך באמצעותה הוא מיישם את הריטול (בשונה מכרום) במקרה של תרגום לעברית.

                              @dovid כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                              נ.ב. למה לא להשתמש בedge וזהו?

                              לצערי הedge גם לא מושלם.
                              באתרים בהם יש code בתוך הp וכדו'
                              כל הcode עובר לסוף הp. וזה ממש מטריד, אתה צריך בקריאה לפענח כל יחידת קוד לאיזה קטע בפסקה היא שייכת.

                              למשל, זה המקור:
                              f2e1d48a-cde3-4e2b-bf50-019542c01f37-image.png
                              וזה אחרי תרגום לעברית:
                              7a8683a1-af22-4174-8265-0fca0f2fc0ec-image.png

                              ש מנותק
                              ש מנותק
                              ש.ב.ח.
                              כתב ב נערך לאחרונה על ידי
                              #21

                              בהקשר למה שהבאתי לעיל על edge

                              יותר נוח כבר להשתמש עם כרום ולהוסיף סקריפט שעובר על כל האלמנטים מלבד של קוד ומוסיף direction=rtl

                              שלום עולם 0ש תגובה 1 תגובה אחרונה
                              0
                              • ש ש.ב.ח.

                                בהקשר למה שהבאתי לעיל על edge

                                יותר נוח כבר להשתמש עם כרום ולהוסיף סקריפט שעובר על כל האלמנטים מלבד של קוד ומוסיף direction=rtl

                                שלום עולם 0ש מנותק
                                שלום עולם 0ש מנותק
                                שלום עולם 0
                                כתב ב נערך לאחרונה על ידי
                                #22

                                @ש-ב-ח כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                                יותר נוח כבר להשתמש עם כרום ולהוסיף סקריפט שעובר על כל האלמנטים מלבד של קוד ומוסיף direction=rtl

                                בזה עוסק האשכול.

                                ש תגובה 1 תגובה אחרונה
                                0
                                • שלום עולם 0ש שלום עולם 0

                                  @ש-ב-ח כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                                  יותר נוח כבר להשתמש עם כרום ולהוסיף סקריפט שעובר על כל האלמנטים מלבד של קוד ומוסיף direction=rtl

                                  בזה עוסק האשכול.

                                  ש מנותק
                                  ש מנותק
                                  ש.ב.ח.
                                  כתב ב נערך לאחרונה על ידי ש.ב.ח.
                                  #23

                                  @שלום-עולם-0 אני משתמש עם התוסף הזה על אתרים שאני נכנס אליהם בדרך כלל
                                  https://chrome.google.com/webstore/detail/stylebot/oiaejidbmkiecgbjeifoejpgmdaleoha
                                  פשוט עובר על כל האלמנטים שאני מעוניין לסדר ומוסיף CSS מתאים.

                                  למשל לאתר שהבאת בבעיה 2 הוספתי רק את

                                  body{
                                    direction: rtl;
                                  }
                                  
                                  #menu {
                                    right: 0;
                                  }
                                  

                                  וזה כבר נראה מותאם...

                                  תגובה 1 תגובה אחרונה
                                  2
                                  • dovidD dovid

                                    @שלום-עולם-0 לא בטוח שמחדש, ניסיתי לפתור את הבעיה (במקרה בדקתי על האתר שהבאת בבעיה 2 בהודעה הפותחת).
                                    הקוד שלי לא מושלם אבל הוא לא רחוק משלמות, אם תעיר לי מקומות שפציפיים שהקוד לא מסדר טוב אשמח לשפרו.

                                    פ מנותק
                                    פ מנותק
                                    פלורידה
                                    כתב ב נערך לאחרונה על ידי
                                    #24

                                    @dovid כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                                    אם תעיר לי מקומות שפציפיים שהקוד לא מסדר טוב אשמח לשפרו.

                                    באתר הזה הוא מסיע רק את הדפדפן הצידי של נטפרי (שלשת הנקודות המפורסמות)

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD dovid

                                      אני לא יודע איך מתגברים על הבעיה שנתקלתי בה,
                                      של שגיאת CORS בCSS חיצוני.
                                      למשל באתר של stackoverflow, הדבקת הקוד הזה:

                                      document.styleSheets[0].cssRules
                                      

                                      בקונסול, מביא שגיאה כזו:

                                      caught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
                                      

                                      אני לא מצליח אם כן לכתוב קוד שיתקן את הCSS בהתאם למצופה.

                                      dovidD מנותק
                                      dovidD מנותק
                                      dovid
                                      ניהול
                                      כתב ב נערך לאחרונה על ידי
                                      #25

                                      @פלורידה זה אותה שגיאה שסיפרתי עליה:

                                      בקונסול, מביא שגיאה כזו:
                                      caught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules

                                      אני לא מצליח אם כן לכתוב קוד שיתקן את הCSS בהתאם למצופה.

                                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                      תגובה 1 תגובה אחרונה
                                      1
                                      • dovidD dovid

                                        אני לא יודע איך מתגברים על הבעיה שנתקלתי בה,
                                        של שגיאת CORS בCSS חיצוני.
                                        למשל באתר של stackoverflow, הדבקת הקוד הזה:

                                        document.styleSheets[0].cssRules
                                        

                                        בקונסול, מביא שגיאה כזו:

                                        caught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
                                        

                                        אני לא מצליח אם כן לכתוב קוד שיתקן את הCSS בהתאם למצופה.

                                        שלום עולם 0ש מנותק
                                        שלום עולם 0ש מנותק
                                        שלום עולם 0
                                        כתב ב נערך לאחרונה על ידי
                                        #26

                                        @dovid כתב בשתפו מידע הנדרש לסקריפט יישור RTL לדפים מתורגמים, שיעבור בכמה שיותר מקרים:

                                        אני לא יודע איך מתגברים על הבעיה שנתקלתי בה,
                                        של שגיאת CORS בCSS חיצוני.

                                        אפשר לפרסר עצמאית את הCSS לכדי Rules וכדומה.

                                        תגובה 1 תגובה אחרונה
                                        0
                                        תגובה
                                        • תגובה כנושא
                                        התחברו כדי לפרסם תגובה
                                        • מהישן לחדש
                                        • מהחדש לישן
                                        • הכי הרבה הצבעות


                                        • 1
                                        • 2
                                        בא תתחבר לדף היומי!
                                        • התחברות

                                        • אין לך חשבון עדיין? הרשמה

                                        • התחברו או הירשמו כדי לחפש.
                                        • פוסט ראשון
                                          פוסט אחרון
                                        0
                                        • דף הבית
                                        • קטגוריות
                                        • פוסטים אחרונים
                                        • משתמשים
                                        • חיפוש
                                        • חוקי הפורום