CefSharp ChromiumWebBrowser inizializzerà e caricare la pagina passati al costruttore, ma la chiamata di Miobrowser.Load(“URL”) restituisce una schermata vuota

Se io passo un sito web nel browser costruttore:

ChromiumWebBrowser MyBrowser = new ChromiumWebBrowser("www.google.com");

Google carico. Tuttavia, dopo aver avviato il browser, chiamata

MyBrowser.Load("Example.com");

Dà una schermata vuota. Ho le vicende legate FrameLoadEnd, che il fuoco, quando google è terminato il caricamento, ma non sparare a tutti dopo la chiamata a Carico, il che significa che le pagine non sono ancora caricato offscreen.

Ho passato molto tempo a lavorare sulla questione, ma non riesco a trovare una soluzione. Ho scaricato i pacchetti tramite NuGet, installato VC 2012 Redistributable, inizializzato CefSettings, si è passati a x86, etc. Io non sono sicuro di quello che sto facendo di sbagliato, fatta eccezione forse per incomprensione il modo in cui questo metodo è pensato per essere utilizzato. È anche possibile che io sto copiando i file giusti per la mia directory di output, ma ho CopyLocal = True su tutti i miei riferimenti.

Potrebbe essere importante notare che il mio browser vengono implementate programatticaly, invece di essere trascinati nel windows form Designer. Questo è molto necessario per il mio codice, ho un gran numero di browser sorta di indicizzazione del web e che mostra le pagine per l’utente, quindi, la necessità di un affidabile metodo di caricamento.

Qui è un esempio del mio debug.log dal mio rilascio cartella, a cura di rimuovere troppi doppioni:

[0826/130205:WARNING:resource_bundle.cc(304)] locale_file_path.empty()
...
[0826/131439:WARNING:resource_bundle.cc(304)] locale_file_path.empty()
[0826/134434:ERROR:renderer_main.cc(212)] Running without renderer sandbox
...
[0826/135650:ERROR:renderer_main.cc(212)] Running without renderer sandbox
[0826/135658:ERROR:ipc_channel_win.cc(136)] pipe error: 109
[0826/135921:ERROR:renderer_main.cc(212)] Running without renderer sandbox
...
[0826/135921:ERROR:renderer_main.cc(212)] Running without renderer sandbox
[0826/135933:ERROR:ipc_channel_win.cc(378)] pipe error: 109
[0826/135933:ERROR:ipc_channel_win.cc(412)] pipe error: 232
[0826/140141:ERROR:renderer_main.cc(212)] Running without renderer sandbox
...
[0826/140141:ERROR:renderer_main.cc(212)] Running without renderer sandbox
[0826/140148:ERROR:ipc_channel_win.cc(412)] pipe error: 232
Poco prima si chiama MyBrowser.Load, qual è il valore di MyBrowser.IsBrowserInitialized?
È falso, che è sorprendente per me. La ringrazio per la richiesta, che mette fuori di me per ulteriori ricerche. Se avete ulteriori suggerimenti, per favore fatemelo sapere. (PS ho notato il tuo nome utente… grazie a tutti voi per l’impegno!)

OriginaleL’autore bakester14 | 2015-08-26

One Reply
  1. 8

    Purtroppo Load non automaticamente se il browser non è inizializzato. La prossima versione è una riscrittura, che genererà un’eccezione, in modo da sapere subito cosa sta succedendo. Se si collega il IsBrowserInitializedChanged evento si dovrebbe essere in grado di chiamare in modo sicuro Carico dopo gli incendi.

    https://github.com/cefsharp/CefSharp/blob/cefsharp/41/CefSharp.WinForms/ChromiumWebBrowser.cs#L233

    L’attuale versione a scrivere è 41.0.1.
    La prossima versione sarà 43.0.0 (C’è già un -pre rilascio nuget.org, anche se non è ancora pronto per il prime time di sicurezza)

    OriginaleL’autore amaitland

Lascia un commento