עבודה עם JS דרך C#
-
@davidnead אמר בעבודה עם JS דרך C#:
System.Exception: 'Browser is not yet initialized. Use the IsBrowserInitializedChanged event and check the IsBrowserInitialized property to determine when the browser has been intialized
זו
-
@davidnead תעלה את כל הקוד שנוכל לדבר בצורה ברורה
תעצב אותו כמו שצריך -
@מנצפך אמר בעבודה עם JS דרך C#:
@davidnead תעלה את כל הקוד שנוכל לדבר בצורה ברורה
תעצב אותו כמו שצריךלא יודע איך מעצבים, מקוה שבסדר.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using mshtml;
using System.IO;
using CefSharp;
using CefSharp.WinForms;namespace WindowsFormsApp1
{
public partial class Form1 : Form
{public Form1() { InitializeComponent(); } public ChromiumWebBrowser browser; public void InitBrowser() { Cef.Initialize(new CefSettings()); browser = new ChromiumWebBrowser("www.google.com"); this.Controls.Add(browser); var script = string.Format("alert('he')"); browser.GetMainFrame().ExecuteJavaScriptAsync(script); } private void button1_Click(object sender, EventArgs e) { InitBrowser(); } }
}
-
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using mshtml; using System.IO; using CefSharp; using CefSharp.WinForms; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public ChromiumWebBrowser browser; public void InitBrowser() { Cef.Initialize(new CefSettings()); browser = new ChromiumWebBrowser("www.google.com"); this.Controls.Add(browser); var script = string.Format("alert('he')"); browser.GetMainFrame().ExecuteJavaScriptAsync(script); } private void button1_Click(object sender, EventArgs e) { InitBrowser(); } } }
-
@davidnead אמר בעבודה עם JS דרך C#:
IsBrowserInitializedChanged
אוקיי, תודה. כעת הפונקציה פועלת.
עכשיו מה לגבי החזרת התוצאה?וכללית, איני תופס איך עובד האובייקט הזה. הוא עובד באופן שונה לגמרי מהאובייקט IE שמגיע עם הVS. הוא לא מתעסק בDOM או באירועי דפדפן רגילים. מה זה אומר למשל "GetMainFrame"?
-
אה, ועוד בעיה חדשה, הוא לא נותן לגשת לאתר שמוגן עם יוזר וסיסמה (הגנת גישה מוחלת לאתר, כזו שמקפיצה הודעה מהדפדפן ומבקשת יוזר וסיסמה לפני טעינת האתר):
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.
-
@davidnead אמר בעבודה עם JS דרך C#:
@davidnead אמר בעבודה עם JS דרך C#:
IsBrowserInitializedChanged
אוקיי, תודה. כעת הפונקציה פועלת.
עכשיו מה לגבי החזרת התוצאה?https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#CallJSWithResult
מה שכתוב שם, זה שבשביל זה צריך מתודה אחרת, שבכלל לא מפעילה סקריפט בדף אלא מריצה JS ומחזירה את התוצאה. ראה את הדוגמא שלהם.
-
@dovid אמר בעבודה עם JS דרך C#:
@davidnead אמר בעבודה עם JS דרך C#:
@davidnead אמר בעבודה עם JS דרך C#:
IsBrowserInitializedChanged
אוקיי, תודה. כעת הפונקציה פועלת.
עכשיו מה לגבי החזרת התוצאה?https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#CallJSWithResult
מה שכתוב שם, זה שבשביל זה צריך מתודה אחרת, שבכלל לא מפעילה סקריפט בדף אלא מריצה JS ומחזירה את התוצאה. ראה את הדוגמא שלהם.
מהקישור הזה בדיוק התחלתי את המסלול שלי. הבנתי שאם לא הבנתי את הקוד שם אני כנראה צריך עזרה פה
-
@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.
תיק. איך נפלת על כזה חור...
זה סיפור. -
@davidnead אמר בעבודה עם JS דרך C#:
@dovid אמר בעבודה עם JS דרך C#:
@davidnead אמר בעבודה עם JS דרך C#:
@davidnead אמר בעבודה עם JS דרך C#:
IsBrowserInitializedChanged
אוקיי, תודה. כעת הפונקציה פועלת.
עכשיו מה לגבי החזרת התוצאה?https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#CallJSWithResult
מה שכתוב שם, זה שבשביל זה צריך מתודה אחרת, שבכלל לא מפעילה סקריפט בדף אלא מריצה JS ומחזירה את התוצאה. ראה את הדוגמא שלהם.
מהקישור הזה בדיוק התחלתי את המסלול שלי. הבנתי שאם לא הבנתי את הקוד שם אני כנראה צריך עזרה פה
רגע, בעצם נראה שכן הבנתי. עצם השראת הנחת השאלה פה נתנה את התשובה. צריך עכשיו לראות איך נראית העבודה האסינכרונית הזו וכמה היא פרקטית.
-
@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.
תיק. איך נפלת על כזה חור...
זה סיפור.כ"כ נורא?