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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עבודה עם JS דרך C#

עבודה עם JS דרך C#

מתוזמן נעוץ נעול הועבר תכנות
52 פוסטים 3 כותבים 3.7k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    השיב לdavidnead ב נערך לאחרונה על ידי
    #29

    @davidnead אמר בעבודה עם JS דרך C#:

    @davidnead אמר בעבודה עם JS דרך C#:

    IsBrowserInitializedChanged

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

    https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#CallJSWithResult

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

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    D תגובה 1 תגובה אחרונה
    2
    • D מנותק
      D מנותק
      davidnead
      השיב לdovid ב נערך לאחרונה על ידי
      #30

      @dovid אמר בעבודה עם JS דרך C#:

      @davidnead אמר בעבודה עם JS דרך C#:

      @davidnead אמר בעבודה עם JS דרך C#:

      IsBrowserInitializedChanged

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

      https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#CallJSWithResult

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

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

      תגובה 1 תגובה אחרונה
      0
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        השיב לdavidnead ב נערך לאחרונה על ידי
        #31

        @davidnead אמר בעבודה עם JS דרך C#:

        This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

        תיק. איך נפלת על כזה חור...
        זה סיפור.

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        D תגובה 1 תגובה אחרונה
        0
        • D מנותק
          D מנותק
          davidnead
          כתב ב נערך לאחרונה על ידי davidnead
          #32

          @davidnead אמר בעבודה עם JS דרך C#:

          @dovid אמר בעבודה עם JS דרך C#:

          @davidnead אמר בעבודה עם JS דרך C#:

          @davidnead אמר בעבודה עם JS דרך C#:

          IsBrowserInitializedChanged

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

          https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#CallJSWithResult

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

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

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

          תגובה 1 תגובה אחרונה
          1
          • D מנותק
            D מנותק
            davidnead
            השיב לdovid ב נערך לאחרונה על ידי
            #33

            @dovid אמר בעבודה עם JS דרך C#:

            @davidnead אמר בעבודה עם JS דרך C#:

            This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

            תיק. איך נפלת על כזה חור...
            זה סיפור.

            כ"כ נורא?

            dovidD תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              השיב לdavidnead ב נערך לאחרונה על ידי dovid
              #34

              @davidnead אמר בעבודה עם JS דרך C#:

              @dovid אמר בעבודה עם JS דרך C#:

              @davidnead אמר בעבודה עם JS דרך C#:

              This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

              תיק. איך נפלת על כזה חור...
              זה סיפור.

              כ"כ נורא?

              צירוף הצרכים שלך ממש נורא:
              הרצת סקריפט בקונטקסט של דף אינטרנטי, מבחוץ לדף + וגישה לתוצאה, כל זה מיישום חלונאי, ובאתר עם basic auth. בא נאמר ככה, אם זה קלאסי, אז טראמפ הוא טיפוס בנאלי.

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              D 2 תגובות תגובה אחרונה
              0
              • D מנותק
                D מנותק
                davidnead
                השיב לdovid ב נערך לאחרונה על ידי
                #35

                @dovid אמר בעבודה עם JS דרך C#:

                @davidnead אמר בעבודה עם JS דרך C#:

                @dovid אמר בעבודה עם JS דרך C#:

                @davidnead אמר בעבודה עם JS דרך C#:

                This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

                תיק. איך נפלת על כזה חור...
                זה סיפור.

                כ"כ נורא?

                צירוף הצרכים שלך ממש נורא:
                הרצת סקריפט בקונטקסט של דף אינטרנטי, מבחוץ לדף + וגישה לתוצאה, כל זה מיישום חלונאי, ובאתר עם basic auth. בא נאמר ככה, אם זה קלאסי, אז טראמפ הוא טיפוס בנאלי.

                לא הבנתי, שורה תחתונה - יש לי סיכוי לרוץ לנשיאות?

                תגובה 1 תגובה אחרונה
                1
                • D מנותק
                  D מנותק
                  davidnead
                  השיב לdovid ב נערך לאחרונה על ידי
                  #36

                  @dovid אמר בעבודה עם JS דרך C#:

                  צירוף הצרכים שלך ממש נורא:
                  הרצת סקריפט בקונטקסט של דף אינטרנטי, מבחוץ לדף + וגישה לתוצאה, כל זה מיישום חלונאי

                  אתה מציע לי להחליף את הצרכים שלי?

                  dovidD מנצפךמ 2 תגובות תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    השיב לdavidnead ב נערך לאחרונה על ידי
                    #37

                    @davidnead אמר בעבודה עם JS דרך C#:

                    @dovid אמר בעבודה עם JS דרך C#:

                    צירוף הצרכים שלך ממש נורא:
                    הרצת סקריפט בקונטקסט של דף אינטרנטי, מבחוץ לדף + וגישה לתוצאה, כל זה מיישום חלונאי

                    אתה מציע לי להחליף את הצרכים שלי?

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

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    D תגובה 1 תגובה אחרונה
                    4
                    • מנצפךמ מנותק
                      מנצפךמ מנותק
                      מנצפך
                      השיב לdavidnead ב נערך לאחרונה על ידי
                      #38

                      @davidnead יש מצב אתה מפרסם כאן את האתר?

                      D תגובה 1 תגובה אחרונה
                      0
                      • D מנותק
                        D מנותק
                        davidnead
                        השיב למנצפך ב נערך לאחרונה על ידי
                        #39

                        @מנצפך אמר בעבודה עם JS דרך C#:

                        @davidnead יש מצב אתה מפרסם כאן את האתר?

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

                        מנצפךמ תגובה 1 תגובה אחרונה
                        0
                        • מנצפךמ מנותק
                          מנצפךמ מנותק
                          מנצפך
                          השיב לdavidnead ב נערך לאחרונה על ידי
                          #40

                          @davidnead טוב. אנסה באתר שלי. (אני מבין שזה עובד עם 401 auth)

                          D 2 תגובות תגובה אחרונה
                          0
                          • D מנותק
                            D מנותק
                            davidnead
                            השיב לdovid ב נערך לאחרונה על ידי davidnead
                            #41

                            @dovid

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

                            תגובה 1 תגובה אחרונה
                            0
                            • D מנותק
                              D מנותק
                              davidnead
                              השיב למנצפך ב נערך לאחרונה על ידי
                              #42

                              @מנצפך אמר בעבודה עם JS דרך C#:

                              @davidnead טוב. אנסה באתר שלי. (אני מבין שזה עובד עם 401 auth)

                              כנראה. קובץ .htaccess בתיקיית השורש.

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

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

                                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                D תגובה 1 תגובה אחרונה
                                0
                                • D מנותק
                                  D מנותק
                                  davidnead
                                  השיב לdovid ב נערך לאחרונה על ידי
                                  #44

                                  @dovid אמר בעבודה עם JS דרך C#:

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

                                  לא ממש הבנתי את דבריך. מ"מ הספריות (והקודים) המוכנים הם סיבה טובה לחפש דרך לעבוד עם JS של קליינט סייד.

                                  dovidD תגובה 1 תגובה אחרונה
                                  0
                                  • D מנותק
                                    D מנותק
                                    davidnead
                                    כתב ב נערך לאחרונה על ידי davidnead
                                    #45

                                    נותרו לי עוד 2 שאלות

                                    1. בשיטה האחרונה (של הקריאה לפונקציה עם אפשרות החזרת ערך) הקריאה אינה לפונקציה מסויימת, אלא פשוט מריצה את הקוד כפי שהוא. אם הקוד נמצא בתוך פונקציה שמית (לא עטוף) הוא לא ירוץ. איך אפשר אם כן להעביר לה ארגומנטים? לאן הארגומנטים יגיעו?

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

                                    פה אמור להיות תיעוד, אבל הוא חסר:
                                    https://cefsharp.github.io/api/51.0.0/html/M_CefSharp_WebBrowserExtensions_EvaluateScriptAsync.htm

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD מנותק
                                      dovidD מנותק
                                      dovid ניהול
                                      השיב לdavidnead ב נערך לאחרונה על ידי dovid
                                      #46

                                      @davidnead אמר בעבודה עם JS דרך C#:

                                      @dovid אמר בעבודה עם JS דרך C#:

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

                                      לא ממש הבנתי את דבריך. מ"מ הספריות (והקודים) המוכנים הם סיבה טובה לחפש דרך לעבוד עם JS של קליינט סייד.

                                      גם ההוא בסיפור לא הבין.

                                      בקשר לשאלותיך, תנסה לקרוא לפונקציה ותראה מה קורה.
                                      קודם כל פתח את כלי הפיתוח, שתול סקריפט עם פוקנציה שמקבלת פרמטר ומציגה אותו באלרט, ואח"כ תלחץ על הכפתור המיועד להרצת הסקריפט שיריץ קיראה לפונקציה הנ"ל עם פרמטר" myFunc(123); ותחכים את כולנו, ורווחא שמעתתא.

                                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                      D תגובה 1 תגובה אחרונה
                                      1
                                      • D מנותק
                                        D מנותק
                                        davidnead
                                        השיב לdovid ב נערך לאחרונה על ידי
                                        #47

                                        @dovid אמר בעבודה עם JS דרך C#:

                                        @davidnead אמר בעבודה עם JS דרך C#:

                                        @dovid אמר בעבודה עם JS דרך C#:

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

                                        לא ממש הבנתי את דבריך. מ"מ הספריות (והקודים) המוכנים הם סיבה טובה לחפש דרך לעבוד עם JS של קליינט סייד.

                                        גם ההוא בסיפור לא הבין.

                                        בקשר לשאלותיך, תנסה לקרוא לפונקציה ותראה מה קורה.
                                        קודם כל פתח את כלי הפיתוח, שתול סקריפט עם פוקנציה שמקבלת פרמטר ומציגה אותו באלרט, ואח"כ תלחץ על הכפתור המיועד להרצת הסקריפט שיריץ קיראה לפונקציה הנ"ל עם פרמטר" myFunc(123); ותחכים את כולנו, ורווחא שמעתתא.

                                        שם לא היה מי שיסביר לו...

                                        לא הבנתי את התרגיל שנתת לי. היכן להשתיל את הפונקציה? בקוד, או בכלי פיתוח (איך?). אם אני עושה שורה כזו:

                                        browser.EvaluateScriptAsync(" function myFunc (A){alert(A)} myFunc (123)");

                                        אני מקבל כמובן אלרט 123, אבל את הפרמטר הזה נתתי בתוך הJS, לא מהC#.

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

                                          תעשה כפתור שפותח את כלי הפיתוח. וכפתור שני שקורא לEvaluateScriptAsync.
                                          בקוד הכפתור השני תכתוב ככה:

                                          var task = frame.EvaluateScriptAsync("testCef(" + "ארגומנט" + ")", null);
                                          
                                          task.ContinueWith(t =>
                                          {
                                              if (!t.IsFaulted)
                                              {
                                                  var response = t.Result;
                                                  EvaluateJavaScriptResult = response.Success ? (response.Result ?? "null") : response.Message;
                                              }
                                          }, TaskScheduler.FromCurrentSynchronizationContext());
                                          

                                          תריץ את התוכנה, ותלחץ על הלחצן שפותח את כלי הפיתוח.
                                          בכלי הפיתוח תערוך את הHTML ותוסיף כזו תגית סקריפט:

                                           <script>function testCef(arg) { alert(arg); }</script>
                                          

                                          יאללה, כעת תלחץ על הכפתור השני.

                                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                          D תגובה 1 תגובה אחרונה
                                          2

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

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

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