WebBrowser,挖坑,跳坑,填坑
最近在 C# Asp.net 平臺(tái)上的一個(gè)項(xiàng)目中用到了 WebBrowser 控件。自然而然就進(jìn)入了 一連串的坑了。用網(wǎng)絡(luò)上一同行的話“用WebBrowse,就是在給自己挖坑”。
道術(shù)太淺,這個(gè)坑我還是跳了。
?需求:截取網(wǎng)頁(yè)中的一部分,生成圖片。
咣當(dāng)咣當(dāng)在本地機(jī)子碼了一遍,后臺(tái)用了 WebBrowser 控件。運(yùn)行,一切OK。
??
然后就放到服務(wù)器上了,當(dāng)然問(wèn)題也就跟著來(lái)了...
在服務(wù)器上部署運(yùn)行遇到如下問(wèn)題,
?
發(fā)現(xiàn)坑一:頁(yè)面在瀏覽器中打開正常,但某些圖片在截圖中沒有顯示出來(lái)但是在本地上部署的和局域網(wǎng)內(nèi)部署運(yùn)行都OK,一開始,這個(gè)問(wèn)題讓我覺得有些奇葩,也是一臉懵逼。
開始尋找bug之旅了,我發(fā)現(xiàn)截圖沒有顯示出來(lái)的圖片都是被用做背景的圖片(background-image),而 <img> 標(biāo)簽的圖片都是正常的。
我開始懷疑是?background-image 中的圖片比 <img> 標(biāo)簽的圖片 加載慢,而導(dǎo)致以上問(wèn)題的。
小測(cè)試一下,果不其然,真是這個(gè)問(wèn)題。問(wèn)了度娘一下,問(wèn)題得到確認(rèn)了,也弄清了原理。
在本地和局域網(wǎng)部署運(yùn)行OK,加載速度很快,沒發(fā)現(xiàn)問(wèn)題,而在外網(wǎng)中運(yùn)行,加載快慢就顯現(xiàn)出來(lái)了,問(wèn)題也就出來(lái)了。
?
?
發(fā)現(xiàn)坑二:網(wǎng)頁(yè)中的圓角,浮動(dòng)在截圖中并未有效果這個(gè)問(wèn)題,也是讓我一開始是 一臉懵逼 + 一頭霧水的。
在本地運(yùn)行是很OK的。到服務(wù)器上運(yùn)行就這#樣了。
很快,我就想應(yīng)該是平臺(tái)瀏覽器的內(nèi)核問(wèn)題,也就是 WebBrowser 控件的內(nèi)核問(wèn)題。但是都是基于 asp.net 平臺(tái)的啊,一樣的平臺(tái),一樣的代碼,how ?
又見了度娘一下,果不其然,WebBrowser 控件的內(nèi)核是跟所部署運(yùn)行的機(jī)子的IE瀏覽器內(nèi)核是相關(guān)的,老版本的 IE 是不支持很多 CSS3 和 H5 新技能的。
我有感覺了,肯定是服務(wù)器的 IE 瀏覽器版本太 old 了。
查看了一下本地的IE版本,是 IE9。再查看一下服務(wù)器的 IE 版本,是 IE8。 噢,我的感覺是對(duì)了的。
? ?? ? ? ? ?
?
立馬就把服務(wù)器的 IE 瀏覽器更新,額... 一開始我是想更新到 IE9 和本地的同版本就好了... 一不小心,沒剎住車,直接開到 IE10 了...
?
一開始,想想也不會(huì)有什么的吧,索性將就了...
一運(yùn)行,又是一臉懵逼...
?
發(fā)現(xiàn)坑三:截圖出現(xiàn)了兩個(gè)很礙眼刺眼的滾動(dòng)條,也就是 WebBrowser 打開的網(wǎng)頁(yè)就是有滾動(dòng)條的不應(yīng)該啊,又急著見度娘了,度娘帶來(lái)的大神都說(shuō)設(shè)置 “webBrowser.ScrollBarsEnabled = false” 就OK。可是這個(gè)答案對(duì)我的問(wèn)題是沒用的。
?
我想可能就是我把服務(wù)的 IE 瀏覽器更新過(guò)頭了,應(yīng)該 IE9 就OK了。我想?“webBrowser.ScrollBarsEnabled = false” 對(duì) IE9 有用,對(duì) IE10 就無(wú)效了。
又是 WebBrowser 的問(wèn)題。
索性不管了 WebBrowser 了,目的是要解決掉滾動(dòng)條,我就在原網(wǎng)頁(yè)中的<body>做了一點(diǎn)點(diǎn)修改,修改了樣式 “ <body style="overflow:hidden;">?”,問(wèn)題也就解決了。
?
總結(jié):挖坑跳坑,把坑填了,路途中是會(huì)學(xué)到很多東西的
?
補(bǔ)充一下知識(shí)
關(guān)于 background-image 和 <img>
?
?
?
?
本文原創(chuàng)作者:小明?
原創(chuàng)文鏈接:《WebBrowser,挖坑,跳坑,填坑》
轉(zhuǎn)載于:https://www.cnblogs.com/youler/p/6803336.html
總結(jié)
以上是生活随笔為你收集整理的WebBrowser,挖坑,跳坑,填坑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【模板】快速幂取模
- 下一篇: 纯js实现html转pdf