2017-08-09 83 views
1

如果網絡是OFF(例如,它不能訪問YouTube的頁面),並與--preload PARAM開始鈷當平臺啓動時,那麼就無法加載和顯示YouTube的用戶界面,甚至當它從預加載狀態切換到啓動狀態時,url無法重載並且無法顯示UI,因此對於這種情況,鈷如何處理?預載功能關閉

//Even the network is on, it can not reload the YT url from SbSystemRaisePlatformError, tsa03s02-in-f142.1e100.net is the hostname of www.youtube.com 
64 bytes from tsa03s02-in-f142.1e100.net (172.217.27.142): icmp_req=51 ttl=52 time=49.1 ms 
64 bytes from tsa03s02-in-f142.1e100.net (172.217.27.142): icmp_req=52 ttl=52 time=48.3 ms 
64 bytes from tsa03s02-in-f142.1e100.net (172.217.27.142): icmp_req=53 ttl=52 time=66.7 ms 
[cobalt]>[11604:2581014753:INFO:h5vcc_url_handler.cc(119)] try to reload url, url= https://www.youtube.com/tv?additionalDataUrl=http://localhost:56789/apps/YouTube/dial_data 
[cobalt]>[11604:2581014916:INFO:system_raise_platform_error.cc(49)] SbSystemRaisePlatformError: Connection error. 
[cobalt]>[0810/114518:WARNING:system_window.cc(200)] Failed to notify user of error: 0 
[cobalt]>[12263:2581046785:WARNING:thread_set_name.cc(36)] Thread name "SplashScreenWebModule" was truncated to "SplashScreenWeb" 
64 bytes from tsa03s02-in-f14.1e100.net (172.217.27.142): icmp_req=54 ttl=52 time=48.6 ms 
[cobalt]>[0810/114518:INFO:page_visibility_state.cc(70)] PageVisibilityState: app_state=kApplicationStateStarted (2) 
[cobalt]>[12267:2581204654:WARNING:thread_set_name.cc(36)] Thread name "Synchronous Load" was truncated to "Synchronous Loa" 
[cobalt]>[11604:2581247952:INFO:window_get_size.cc(36)] SbWindowGetSizewidth: 1920, height: 1080, ratio: 1 
[cobalt]>[0810/114518:INFO:fetcher_factory.cc(94)] Fetching: h5vcc-embedded://splash_screen.html 
[cobalt]>[0810/114518:INFO:fetcher_factory.cc(94)] Fetching: h5vcc-embedded://splash_screen.css 
[cobalt]>[0810/114518:INFO:fetcher_factory.cc(94)] Fetching: h5vcc-embedded://you_tube_logo.png 
[cobalt]>[0810/114518:INFO:fetcher_factory.cc(94)] Fetching: h5vcc-embedded://splash_screen.js 
[cobalt]>[0810/114518:INFO:page_visibility_state.cc(70)] PageVisibilityState: app_state=kApplicationStateStarted (2) 
[cobalt]>[12272:2581440597:WARNING:thread_set_name.cc(36)] Thread name "Synchronous Load" was truncated to "Synchronous Loa" 
[cobalt]>[0810/114518:INFO:fetcher_factory.cc(94)] Fetching: https://www.youtube.com/tv?additionalDataUrl=http://loc[...] 
[cobalt]>[0810/114518:ERROR:host_resolver_proc.cc(155)] [AAAAA]host= www.youtube.com 
[cobalt]>[0810/114518:ERROR:browser_module.cc(702)] NetFetcher error on : net::ERR_NAME_RESOLUTION_FAILED, response code -1 
[cobalt]>[0810/114518:WARNING:h5vcc_url_handler.cc(30)] url=//network-failure?retry-url=https://www.youtube.com/tv?additionalDataUrl=http://localhost:56789/apps/YouTube/dial_data 
[cobalt]>[0810/114518:WARNING:h5vcc_url_handler.cc(92)] HandleNetworkFailure: 
64 bytes from tsa03s02-in-f14.1e100.net (172.217.27.142): icmp_req=55 ttl=52 time=48.6 ms 
64 bytes from tsa03s02-in-f142.1e100.net (172.217.27.142): icmp_req=56 ttl=52 time=49.5 ms 
64 bytes from tsa03s02-in-f14.1e100.net (172.217.27.142): icmp_req=57 ttl=52 time=67.3 ms 
[cobalt]>[11604:2584493042:INFO:h5vcc_url_handler.cc(119)] try to reload url, url= https://www.youtube.com/tv?additionalDataUrl=http://localhost:56789/apps/YouTube/dial_data 

回答

0

在常規的非預載模式下,如果啓動鈷沒有網絡,它會試圖加載的URL,失敗,然後調用SbSystemRaisePlatformError,這是普遍預期,顯示某種類型的錯誤對話框,然後可以用指示器回叫以重試。

在預載模式下,情況沒有任何不同。從預加載開始就像啓動應用程序一樣,並不表示網絡狀態發生變化。

現在,如果實現了預加載模式的平臺錯誤,則可以等到要開始轉型再火重試指示。如果需要的話,這將取決於平臺。

也有一些可以發送網絡狀態變化事件(見右舷/ event.h),但我不知道他們是否會導致鈷自動重試。

+0

嗨,大衛,我試着用你的建議,當它加載youtube失敗,然後嘗試重新加載它在SbSystemRaisePlatformError,但即使網絡是後者,它仍然得到了ERR_NAME_RESOLUTION_FAILED,並進入SbSystemRaisePlatformError,它不能在網絡上重新加載YT。 – bitchainer

+0

我向quesqion添加日誌消息,請幫助引用它。 – bitchainer

+0

即使網絡稍後啓動,SystemHostResolverProc似乎仍然失敗。 – bitchainer

0

設置過濾器默認kSbSocketResolveFilterIpv4host_resolver_proc.ccSystemHostResolverProc,也不會得到ERR_NAME_RESOLUTION_FAILED當它從網絡斷開切換到網絡上的狀態,並且可以重新加載頁面YT很好。

+0

但是還有一個問題,當本地網絡打開時,但它無法訪問YT,它將繼續收到net :: ERR_FAILED錯誤,即使它稍後可以訪問YT,也無法重新加載YT – bitchainer