WebBrowser,挖坑,跳坑,填坑

最近在 C# Asp.net 平台上的一个项目中用到了 WebBrowser 控件。自然而然就进入了 一连串的坑了。用网络上一同行的话“用WebBrowse,就是在给自己挖坑”。

道术太浅,这个坑我还是跳了。


 需求:截取网页中的一部分,生成图片。

咣当咣当在本地机子码了一遍,后台用了 WebBrowser 控件。运行,一切OK。

  

然后就放到服务器上了,当然问题也就跟着来了...

在服务器上部署运行遇到如下问题,

 

发现坑一:页面在浏览器中打开正常,但某些图片在截图中没有显示出来

但是在本地上部署的和局域网内部署运行都OK,一开始,这个问题让我觉得有些奇葩,也是一脸懵逼。

开始寻找bug之旅了,我发现截图没有显示出来的图片都是被用做背景的图片(background-image),而 <img> 标签的图片都是正常的。

我开始怀疑是 background-image 中的图片比 <img> 标签的图片 加载慢,而导致以上问题的。

小测试一下,果不其然,真是这个问题。问了度娘一下,问题得到确认了,也弄清了原理。

在本地和局域网部署运行OK,加载速度很快,没发现问题,而在外网中运行,加载快慢就显现出来了,问题也就出来了。

 

 

发现坑二:网页中的圆角,浮动在截图中并未有效果

这个问题,也是让我一开始是 一脸懵逼 + 一头雾水的。

在本地运行是很OK的。到服务器上运行就这#样了。

很快,我就想应该是平台浏览器的内核问题,也就是 WebBrowser 控件的内核问题。但是都是基于 asp.net 平台的啊,一样的平台,一样的代码,how ?

又见了度娘一下,果不其然,WebBrowser 控件的内核是跟所部署运行的机子的IE浏览器内核是相关的,老版本的 IE 是不支持很多 CSS3 和 H5 新技能的。

我有感觉了,肯定是服务器的 IE 浏览器版本太 old 了。

查看了一下本地的IE版本,是 IE9。再查看一下服务器的 IE 版本,是 IE8。 噢,我的感觉是对了的。

            

 

立马就把服务器的 IE 浏览器更新,额... 一开始我是想更新到 IE9 和本地的同版本就好了... 一不小心,没刹住车,直接开到 IE10 了...

 

一开始,想想也不会有什么的吧,索性将就了...

一运行,又是一脸懵逼...

 

发现坑三:截图出现了两个很碍眼刺眼的滚动条,也就是 WebBrowser 打开的网页就是有滚动条的

不应该啊,又急着见度娘了,度娘带来的大神都说设置 “webBrowser.ScrollBarsEnabled = false” 就OK。可是这个答案对我的问题是没用的。

 

我想可能就是我把服务的 IE 浏览器更新过头了,应该 IE9 就OK了。我想 “webBrowser.ScrollBarsEnabled = false” 对 IE9 有用,对 IE10 就无效了。

又是 WebBrowser 的问题。

索性不管了 WebBrowser 了,目的是要解决掉滚动条,我就在原网页中的<body>做了一点点修改,修改了样式 “ <body style="overflow:hidden;"> ”,问题也就解决了。

 

总结:

挖坑跳坑,把坑填了,路途中是会学到很多东西的

 

补充一下知识

关于 background-image 和 <img>

 

 

 


 

本文原创作者:小明 

原创文链接:《WebBrowser,挖坑,跳坑,填坑》

转载于:https://www.cnblogs.com/youler/p/6803336.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你可能会错过的3个重要AI趋势

来源&#xff1a;雷锋网以下3个趋势&#xff0c;目前可能尚未引起注意&#xff0c;但长期来看会产生重大影响。根据Gartner的一项调查&#xff0c;到2020年底&#xff0c;全球48&#xff05;的CIO将部署AI。尽管人们对AI和ML持乐观态度&#xff0c;但我仍然持怀疑态度。在可以预…

线性代数知识点总结_线性代数导读+笔记

一些学习线性代数的心得和资源分享&#xff0c;供大家参考。资源Introduction to Linear Algebra, 5th Edition​math.mit.edu学线性代数主要的参考书&#xff0c;Strang 教授也算是网红了&#xff0c;讲课讲得十分浅显易懂&#xff0c;网上有配套的video&#xff0c;强烈推荐。…

5G通信网络专题报告:新一轮移动通信网络建设迎来高潮

报告来源&#xff1a;山西证券1. 移动通信网络概述1.1 移动通信网络行业界定异地间人与人、人与物、物与物进行信息的传递和交换称为通信。通信以获取信息为目的&#xff0c;实现信息传输所需的一切设备和传输媒介构成通信系统&#xff0c;通信系统大体包括终端和通信网络两部分…

马赛克战——利用人工智能和自主系统来实施决策中心作战

知远战略与防务研究所 沐俭/编译自&#xff1a;美国战略与预算评估中心网站【知远导读】本篇推送编辑节选自美国战略与预算评估中心2020年2月11日发布的同名研究报告&#xff0c;报告由CSBA高级研究员布莱恩克拉克等撰写。报告认为&#xff0c;美军目前这种以一体化、多功能集…

java动态内存分部,如何利用Java实现动态内存分配?

一&#xff0e;实验原理原理&#xff1a;内存以分区为单位&#xff0c;每个分区可由(ID&#xff0c;addr&#xff0c;size&#xff0c;)进行描述class sector{int id -1;//记录作业的编号int addr0;//内存的起始位置int size100;//分配的内存大小}建立两个链表avail和busy。av…

postgresql两个列模糊比较_JDBC进阶(一):批处理与获取自增长列的值

一、批处理假如要插入一万条记录到数据表中&#xff0c;那么使用普通的方法就要执行一万次插入操作&#xff0c;这样会频繁打开和关闭数据库连接&#xff0c;导致执行速度变慢。因此可以使用批处理机制将多条语句一次性提交给数据库批量处理。批处理的相关API&#xff1a;void …

深度解读后疫情时代下,零售行业的趋势及技术前瞻

来源&#xff1a;苏宁零售技术研究院作者&#xff1a;王俊杰、罗海棠博士、郭永慧、池曙强、张绿漪博士新冠状病毒肺炎疫情发展严峻&#xff0c;短时间内席卷全国。民众在政府的号召下选择了尽量不出行&#xff0c;餐饮、旅游、线下零售等行业面临严峻考验。但同时&#xff0c;…

JAVA-配置path环境

配置path环境变量变的目的是什么&#xff1f; 控制台可以在任意的路径下都可以找到java的开发工具。 为了说明几个JDK环境变量的作用&#xff0c;这里先给出环境变量的定义 环境变量&#xff1a; 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数&#xff0c;比…

170页PPT入门深度强化学习! 汪荣贵 图灵人工智能 昨天

转自&#xff1a;中国图象图形学报什么是强化学习&#xff1f;和其他学习方法相比&#xff0c;有何不同与特色&#xff1f;深度学习如何与强化学习结合&#xff1f;并各取所长&#xff1f;深度强化学习会成为未来引领智能计算的方法吗&#xff1f;深度强化学习将强化学习和深度…

钟南山院士应邀向欧洲同仁全方位解析新冠肺炎(配中文文字版)

来源&#xff1a;ERS欧洲呼吸学会尊敬的同事们&#xff0c;女士们&#xff0c;先生们&#xff1a;非常荣幸能有机会与您分享我们处理中国境内COVID19感染的相关经验。在这种情况下&#xff0c;我仍然在前线工作&#xff0c;所以准备这个PPT比较匆忙。我只能告诉您一些事实、某些…

powerbi的功能介绍_Power BI性能提升的5大秘密武器

​Power BI无疑已经走了很长一段路&#xff0c;它以其作为自助服务工具的强大根基&#xff0c;易于使用的功能以及在企业领域的持续推动和推动而发展。但是&#xff0c;我们仍然可以发现许多开发和维护Power BI解决方案可以通过应用一些更改而受益匪浅&#xff0c;这些更改将导…

递归推导——猜年龄

一、问题描述 班里转来了一位新同学&#xff0c;他在介绍自己年龄的时候说&#xff1a;“我的年龄的平方是一个三位数&#xff0c;立方是一个四位数&#xff0c;四次方是一个六位数。三次方和四次方正好将0/1/2/3/4/5/6/7/8/9这10个数字全部覆盖。”&#xff0c;那么&#xff0…

matlab画布透明,MATLAB怎么生成带透明对象的矢量图

从很早的版本开始MATLAB就支持对patch、surface等对象设定透明属性&#xff0c;有些示意图也必须使用透明的对象才能充分展示所要表达的含义。对透明对象支持最好的通用图片格式就是.png了&#xff0c;但是png图像并非矢量图形&#xff0c;对于一些需要以矢量图显示的场合并不适…

综述:持续感知系统在边缘计算的应用

来源&#xff1a;《微纳电子与智能制造》随着边缘计算技术的兴起&#xff0c;各种各样的感知系统给人类带来了便捷高效的生活。以日常使用的手机为例&#xff0c;工程师为其置入了各种各样的传感器&#xff0c;并通过运行其上的机器学习算法&#xff0c;部署了很多便捷的功能。…

matlab fgoalattain,matlab优化工具箱 | 学步园

1工具箱概述1.1 功能(1)求解无约束条件非线性极小值&#xff1b;(2)求解约束条件下非线性极小值&#xff0c;包括目标逼近问题、极大-极小值问题和半无限极小值问题&#xff1b;(3)求解二次规划和线性规划问题&#xff1b;(4)非线性最小二乘逼近和曲线拟合&#xff1b;(5)非线性…

自保护、人机互动柔性织物传感器研究取得进展

来源&#xff1a;中国科学院宁波材料技术与工程研究所可穿戴柔性电子器件&#xff0c;因其柔性/拉伸性、质轻、成本低、便携等特性&#xff0c;被广泛应用于人体运动/人体健康的实时监测、人机/脑机交互以及机器学习等领域。但目前仍存在灵敏度及响应速度较低、检测下限较高、检…

Hibernate第十一篇【配置C3P0数据库连接池、线程Session】

Hibernate连接池 Hibernate自带了连接池&#xff0c;但是呢&#xff0c;该连接池比较简单..而Hibernate又对C3P0这个连接池支持…因此我们来更换Hibernate连接池为C3P0 查看Hibernate自带的连接池 我们可以通过Hibernate.properties文件中查看Hibernate默认配置的连接池 hibern…

npm 切换源_【分享吧】verdaccio搭建npm私有仓库

verdaccio搭建npm私有仓库前言随着前端技术的不断发展&#xff0c;前后端分离已成为主流趋势&#xff0c;这就导致了前端承受的分工压力会越来越大&#xff0c;前端项目也将变得十分庞杂&#xff0c;因此在技术方面会考虑按照业务线进行拆分成几个业务系统。这些系统之间如何共…

疫情中的人工智能和大数据“社会实验”,将如何影响我国经济社会发展

来源&#xff1a;三思派最近&#xff0c;上海市科学学研究所编制了《人工智能、大数据支撑新冠肺炎疫情防控报告&#xff08;1.0版&#xff09;》。报告预测&#xff0c;疫情过后&#xff0c;人们的生活和工作方式都可能向更加智能化方向发展&#xff0c;一个以智能化、无人化、…

IBM强化Watson对商业语言的理解能力—AI辩论一些关键技术首次商业化

来源&#xff1a;IBM中国2020 年 3 月 11 日&#xff0c;商业人工智能领域领军者 IBM[1]宣布推出几项全新的 IBM Watson 技术&#xff0c;旨在帮助组织机构更清晰地识别、理解和分析英语语言中某些最具挑战性的方面&#xff0c;从而获取更多洞察。全新的 IBM Watson 技术代表着…