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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שאלות ב- Cef sharp

שאלות ב- Cef sharp

מתוזמן נעוץ נעול הועבר תכנות
21 פוסטים 2 כותבים 1.3k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מנצפךמ מנותק
    מנצפךמ מנותק
    מנצפך
    כתב ב נערך לאחרונה על ידי
    #3

    השאלה השניה קשורה ל RequestHandler
    הראשונה ל LifeSpanHandler
    נשתף אתכם בהמשך...

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

      @dovid וכל השאר, אני צריך פה את עזרתם.
      עשיתי פרוייקט קטן ב Winform של דפדפן.
      השתמשתי ב CefSharp. הכל טוב ויפה.
      אבל איפה שיש לינק שפותח חלון חדש (קישור עם "blank" ב target) אני רוצה ללכוד את האירוע הזה ובמקום שייפתח חלון חדש, להוסיף כרטיסייה ושם לפתוח את החלון. כמו בדפדפן "אמיתי".
      ב WinForm זה עובד מעולה.
      ל ChromiumWebBrowser יש פרופרטי שנקרא LifeSpanHandler.
      שם אני יכול להיצמד לאירוע שנקרא : "OnBeforePopup".
      הבעיה היא שה ChromiumWebBrowser רץ כנראה בתהליך נפרד, לכן הייתי צריך להשתמש ב Invoke. והכל עובד יופי.
      הבעיה היא ב WPF. ניסיתי לעשות שם את אותו המהלך וזה נופל בלי להשאיר שגיאה.... אני לא מבין בWPF, וגם לא רוצה להיכנס לזה (לפחות לא בזמן הקרוב) אבל נראה שהלוגיקה אמורה להיות בערך כמו ה WinForm.
      אנא עזרתכם!

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

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

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

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

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

          הבנתי את הבעיה שלך.
          המקביל של Post של WinForms בWPF זה Dispatcher.Invoke.
          כיון שהבנתי רק אחרי שעשיתי דמו אז אני מצרף את הקוד:

          public partial class MainWindow : Window
          {
              MyLifeSpanHandler myHandler;
          
              public MainWindow()
              {
                  myHandler = new MyLifeSpanHandler();
                  myHandler.OpenNewPage += (s) => Dispatcher.Invoke(() => OpenNewTab(s));
          
                  InitializeComponent();
                  OpenNewTab("http://netfree.link/common-sites");
              }
          
              void OpenNewTab(string address)
              {
                  var tabItem = new TabItem();
          
                  var browser = new ChromiumWebBrowser();
                  browser.LifeSpanHandler = myHandler;
                  browser.Address = address;
                  browser.TitleChanged += (s, e) => tabItem.Header = e.NewValue;
                  tabItem.Content = browser;
                  tabControl1.Items.Add(tabItem);
              }
          
          }
          
          public class MyLifeSpanHandler : ILifeSpanHandler
          {
              public event Action<string> OpenNewPage;
          
              public bool DoClose(IWebBrowser browserControl, IBrowser browser) => true;
              public void OnAfterCreated(IWebBrowser browserControl, IBrowser browser){}
              public void OnBeforeClose(IWebBrowser browserControl, IBrowser browser){}
          
              public bool OnBeforePopup(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl, string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures, IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser)
              {
                  newBrowser = new ChromiumWebBrowser();
                  OpenNewPage?.Invoke(targetUrl);
                  return true;
              }
          }
          

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

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

          תגובה 1 תגובה אחרונה
          2
          • מנצפךמ מנותק
            מנצפךמ מנותק
            מנצפך
            כתב ב נערך לאחרונה על ידי
            #7

            תודה. עוד מעט אבדוק.
            ניסיתי בתחילה Dispatcher.Invoke ולא עזר.
            (
            @dovid אני לא רוצה WPF כי זה מסובך טילים (?) בשבילי.
            אני יודע את העיקרון של XAML. אבל מפה זה רק מתחיל. אני גם חושב מה זה כבר ייתן לי. רק פיתוח בסביבת windows.
            בעיקרון די נמאס לי מ C#, אני מעדיף להשקיע את המאמצים בפיתוח WEB. כולל electron שייתן לי פתרון לdesktop.
            עכשיו אני די רק בתחזוקה של פרוייקטים קיימים בC# winForm.
            )

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

              זה עובד מעולה. קוד נקי ואלגנטי.
              @dovid אשאל אותך אחת ולתמיד, הכל מלימוד עצמי?

              dovidD תגובה 1 תגובה אחרונה
              2
              • dovidD מחובר
                dovidD מחובר
                dovid ניהול
                השיב למנצפך ב נערך לאחרונה על ידי
                #9

                @מנצפך אמר בשאלות ב- Cef sharp:

                זה עובד מעולה. קוד נקי ואלגנטי.
                @dovid אשאל אותך אחת ולתמיד, הכל מלימוד עצמי?

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

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

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

                תגובה 1 תגובה אחרונה
                2
                • מנצפךמ מנותק
                  מנצפךמ מנותק
                  מנצפך
                  כתב ב נערך לאחרונה על ידי מנצפך
                  #10

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

                  תגובה 1 תגובה אחרונה
                  2
                  • מנצפךמ מנותק
                    מנצפךמ מנותק
                    מנצפך
                    כתב ב נערך לאחרונה על ידי
                    #11

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

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

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

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

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

                      מנצפךמ תגובה 1 תגובה אחרונה
                      2
                      • מנצפךמ מנותק
                        מנצפךמ מנותק
                        מנצפך
                        כתב ב נערך לאחרונה על ידי מנצפך
                        #13

                        @dovid יש לי תוכנה שחייבת להיות Desktop עם המון אינטגרציה ל Desktop.
                        עכשיו בWinForm. יש לי חלום להעביר אותה ל WEB ולהשתמש ב Chromium בשביל לתקשר עם ה Dekstop.
                        זה צריך להיות סופר יציב. מעניין יהיה לבדוק עכשיו את גבולות ה- CefSharp.

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

                          @dovid אמר בשאלות ב- Cef sharp:

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

                          אתה כנראה לא יודע כמה זמן אני בתחום שזה נראה לך משהו גדול.

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

                            כוונתי לומר שכמה שאני מכיר את התחום זה עדיין נראה רחוק ממני.

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

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

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

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

                              תגובה 1 תגובה אחרונה
                              1
                              • מנצפךמ מנותק
                                מנצפךמ מנותק
                                מנצפך
                                כתב ב נערך לאחרונה על ידי
                                #17

                                @dovid אתה יכול לבדוק אם אתה יכול להדפיס מסמך PDF דרך ה cefSharp? (כלומר לפתוח את הprint dialog). אני לפעמים מצליח. ולפעמים לא. (בתחילה זה היה קשור ל OnBeforePopup. שאם הייתי מחזיר ישר false זה כן היה פותח את ה print dialog).

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

                                  בדקתי, עובד אצלי.

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

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

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

                                    @dovid אמר בשאלות ב- Cef sharp:

                                    בדקתי, עובד אצלי.

                                    באיזה גירסת cef sharp? (אני ניסיתי בגירסה 3 משהו).
                                    גם עם העניין של הכרטיסיות?

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

                                      הCefSharp.Wpf גירסה 63.0.1
                                      הcef.redist.x86 גירסה 3.3239.1723

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

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

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

                                        @dovid אמר בשאלות ב- Cef sharp:

                                        הCefSharp.Wpf גירסה 63.0.1
                                        הcef.redist.x86 גירסה 3.

                                        עובד לי מעולה. ב"ה.
                                        אני בד"כ אוהב להשתמש בגירסאות היותר מוקדמות מכל המוצרים האלו, כדי לשמור על תאימות אחורה.

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

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

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

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