2015-07-01 8 views
12

मैं विंडोज़ फॉर्म में CefSharp का उपयोग करके JavaScript कोड निष्पादित करना चाहता हूं, लेकिन यह काम नहीं करता है। कोड निम्नानुसार है, और संदेश test दिखाया नहीं गया है। क्या मैं कुछ भुल गया?cefsharp निष्पादित जावास्क्रिप्ट

CefSharp.WinForms.ChromiumWebBrowser browser = new ChromiumWebBrowser("http://localhost:50056/simple.aspx"); 
browser.Name = "Simple Page"; 
browser.Dock = DockStyle.Fill;    
this.Controls.Add(browser); 
browser.ExecuteScriptAsync("alert('test');"); 
+0

मैं cefsharp स्थापित करने के लिए Nuget का उपयोग करता हूं, और संस्करण 41.0.0 है। –

+0

'ExecuteScriptAsync' को' मूल्यांकन करें ScriptAsync' – R3tep

+0

द्वारा प्रतिस्थापित करने का प्रयास करें, धन्यवाद, R3tep। मैंने कोशिश की है, लेकिन नतीजा वही है। इस परिदृश्य में –

उत्तर

16

आपको जावास्क्रिप्ट को निष्पादित करने सहित अधिकांश चीजों को करने से पहले ब्राउज़र को प्रारंभ करने की प्रतीक्षा करनी होगी। आप IsBrowserInitializedChanged ईवेंट को हुक कर सकते हैं और ऐसा कुछ कर सकते हैं।

private void OnIsBrowserInitializedChanged(object sender, IsBrowserInitializedChangedEventArgs args) 
{ 
    if(args.IsBrowserInitialized) 
    { 
     browser.ExecuteScriptAsync("alert('test');"); 
    } 
} 
+2

'सीफशर्प' का अगला प्रमुख संस्करण चुपचाप कुछ भी नहीं करने के बजाय स्वयं दस्तावेज़ के प्रयास में आपके मूल कोड के साथ अपवाद फेंक देगा। – amaitland

+0

बहुत बहुत धन्यवाद। यह काम करता हैं। –

+0

https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#CallJS में अधिक जानकारी – amaitland

संबंधित मुद्दे