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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
52 פוסטים 3 כותבים 3.7k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
              • D מנותק
                D מנותק
                davidnead
                השיב לdovid ב נערך לאחרונה על ידי davidnead
                #49

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

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

                לא קורה כלום. בכלי הפיתוח הוא מודיע שהפונקציה testCef אינה מוגדרת. הוא לא קורא אותה מהHTML.

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

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

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

                  function

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

                  var task = browser.EvaluateScriptAsync("function testCef(arg) { alert(arg); }   testCef(" + "ארגומנט" + ")", timeout: null);
                  

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

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

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

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

                    לגבי בעיית האבטחה, האם זה הפתרון שאני צריך?

                    https://stackoverflow.com/questions/29612875/cefsharp-load-a-page-with-browser-login

                    או שזה לא עוסק בשם וסיסמה מסוג זה?

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

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

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

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

                      לגבי בעיית האבטחה, האם זה הפתרון שאני צריך?

                      https://stackoverflow.com/questions/29612875/cefsharp-load-a-page-with-browser-login

                      כן.

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

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

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

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

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

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