C#使用CefSharp访问本地html页面显示空白,Chrome等其他浏览器显示正常
调试CefSharp时遇到的问题:CefSharp访问在线的网站,均可正常显示。而当Url切换为本地html文件时,窗口变空白,另外将本地html文件的完整路径粘贴到Chrome,Edge,IE中均可正常显示。说明html代码没问题。以下最上面为Chrome,中间为Edge,下面为IE。仔细观察各自地址栏显示内容可以发现,前两款浏览器都对路径进行了加工处理,IE则是原封未动;比...
·
调试CefSharp时遇到的问题:
CefSharp访问在线的网站,均可正常显示。而当Url切换为本地html文件时,窗口变空白,另外将本地html文件的完整路径粘贴到Chrome,Edge,IE中均可正常显示。说明html代码没问题。
以下最上面为Chrome,中间为Edge,下面为IE。
仔细观察各自地址栏显示内容可以发现,前两款浏览器都对路径进行了加工处理,IE则是原封未动;
比如Chrome将字符#转为字符%23(#的UrlEncode,UTF8编码),还在路径前加了"file:///"字符串,上图中未显示处理,实际有。
Edge浏览器只是在路径前加了"file:///"字符串。
看到这个区别后,试着在代码中将路径中的#替换为%23后一切正常。
总结:
当本地html文件在常规浏览器中可以正常访问,在cefsharp中无法显示时,请检查文件路径中是否包含特殊字符,如有,试着将特殊字符替换为%加上该字符的16进制ASCII码(即该字符的UrlEncode,UTF8编码)试一试,说不定问题就解决了。
更多推荐
已为社区贡献4条内容
所有评论(0)