CefBrowser 复制图片解决办法
使用的是CefSharp控件,开放出的功能比较多,但是还是有一些封闭的。例如复制图片到Clipbord,库没有提供。
VC虽然看得懂,但托管代码没搞过,看得很蛋痛,而且如果有CefSharp有新版本还要改,于是曲线解决。
先说IE,其有RangeControl,可以复制,但Chrome和Firefox都不支持,当然后二者都可以复制图片。
问题主要原因,是不知道怎样比缓存提取图片。当然可以重新下载,但这样就没意义,如验证码或尺寸大的图片,重新下载不合要求。因为CefSharp就是Chrome,有一个工具可以查看缓存,但没有找到其源码。不清楚缓存格式,无法提存,猜可能是一种小开型数据库,例如Sqlite等,因为看devTools的资源部分,很有数据库管理器的影子。
还有一种办法是截屏,但这不是正路,如图片被遮挡或缩放时。
Javasciprt剪贴板不能用,缓存又没办法查看,这个问题困扰了好久。
最后找到一种办法,用Canvas标签。
相关资料: HTML 5 <canvas> 标签 HTML 5 Canvas HTML 5 Canvas 参考手册 HTML DOM Canvas 对象 The canvas element
最后用javascript 反调 c# 注册的对象,传回buffer数据,但如果图片大一些,耗时会很多,我的300*100的图片要1秒多,只是一种暂时的方法,最好还是可以读缓存。
一些参考资料:
基于 HTML5 中的 Web SQL Database 来构建应用程序
HTML5开发学习(2):本地存储之localStorage 、sessionStorage、globalStorage
HTML5开发学习(3):本地存储之Web Sql Database(附源码)
W3C Web SQL Database Web SQL databases 搜索
出现 SECURITY_ERR:DOM Exception 18 异常:
在本地调试时,会出现这个问题,安全性错误,其实是JS跨域访问错误,因为之前是运行的客户端嵌入的JS,将UniversalAccessFromFileUrlsAllowed 设置为true,只能使本机的调试网页可以,但访问外网时,当图片和网站不一致,还会报错,因为本身是嵌入使用浏览器,设置 WebSecurityDisabled=true,解决。
SECURITY_ERR:DOM Exception 相关: 之一、之二
CefBrowser 复制图片解决办法的更多相关文章
- Hexo + VSCode 插入 Markdown 图片解决办法
最近打开 typora 时发现弹窗强更,不让用 beta 版了 想到自己并不是非常需要 WYSIWYG,而且也不是经常使用 typora,于是直接退回到 VSCode 了,而且在 VSCode 里可以 ...
- 用微软官方的 HTML Help Workshop制作的CHM文件不显示图片解决办法
制作CHM文档,方便小巧还易于查看,用处自不必多说了,最近想把这个季度所学习的内容全部制作成CHM格式文档,给自己后续用来温故而知新,同时也可以做为后起之秀避坑法宝.但是在生成CHM文档之后发现有些地 ...
- VMware虚拟机与宿主无法复制的解决办法
由于工作需要,上网机器使用虚拟机,因此需要经常来回的拷贝文件,而vmware从6.5一直走来到10.0.1,总是有一个问题很让人苦恼---共享粘贴板总是会无故失效.经常实验,发现可以经过以下方法临时解 ...
- 主机与虚拟机Oracle VM VirtualBox不能拖动复制的解决办法
先将虚拟机系统关机,然后打开Oracle VM VirtualBox管理器: 第一步: 常规高级里共享粘贴板已经选中双向 第二步: 虚拟机设置-存储-控制器SATA(或IDE)-勾选"使用主 ...
- Kali/Ubuntu无法和物理机之间复制粘贴解决办法
Vmware安装Linux,传统的vmtools已经被抛弃,当前建议使用Open-VM-tools 安装Open-VM-tools//Kali,Ubuntu: sudo apt install Ope ...
- windwos服务器 无法与本地电脑进行复制粘贴解决办法
之前复制粘贴功能可以使用 现在突然间不能使用了 1.打开任务管理器,查看进程,如果有 rdpclip.exe 进程,先关闭该进程2.开始->运行->rdpclip.exe,重新运行此程序 ...
- Wordpress 外网访问时不显示图片解决办法
我的云服务器是 :windows2012R 打开命令行: 进入到mysql中 show databases; //查看你Wordpress使用的数据库是否存在 use blog; //例如你使用的数据 ...
- 360doc的文章不能复制的解决办法
按F12打开控制台,执行: document.body.oncopy=null;
- win10文件名或文件路径过长导致无法删除或复制的解决办法
试过了百度上的所有方法,命令行中del没有作用,Unlocker也没用,批处理也不起作用,360的强力删除也没有作用. 最后找到一种方法,在压缩该文件的时候选择删除源文件. 但是需要注意一点,用360 ...
随机推荐
- Android系统文件夹组织结构
- multipath tcp experiment
git clone https://github.com/Neohapsis/mptcp-abuse.git sudo apt-get install python-pip sudo pip inst ...
- 伪装的方式实现js继承
看起来属性放到"父类"里了,这种方式原型中还是有属性的,只不过在"子类"的构造器中用call方法调用父类构造函数的时候,"子类"被强行赋值了 ...
- web 调用WCF 每次都要重新编译才能正常使用 终于解决了
项目中不知从何时起出现了个奇怪的问题,每次运行web都要全部重新编译解决方案,否则单独编译web,总是会出现WCF 调用失败的情况(什么无法激活服务,什么协议对地址不可用啊,七七八八的问题),因为这个 ...
- 369. Plus One Linked List
Given a non-negative number represented as a singly linked list of digits, plus one to the number. T ...
- 学习SVG系列(4):SVG滤镜效果
注意:Internet Explorer和Safari不支持SVG滤镜 <defs>.<filter> 所有互联网的SVG滤镜定义在<defs>元素中,<fi ...
- Android Studio Problem : failed to find style 'textviewstyle' in current theme 解决方法
新建一个空白的MainActivity时Preview就出现一个错误: failed to find style 'textviewstyle' in current theme 开始在国内的博客平台 ...
- PHP设计的超强大的文件上传类(单文件上传)
form.html <!DOCTYPE html> <html> <head> <title>文件上传</title> </head& ...
- (转载)android炫酷实用的开源框架(UI框架)
可以实现一些场常用炫酷效果,包含android-lockpattern(图案密码解锁).Titanic(可以显示水位上升下降的TextView).Pull-to-Refresh.Rentals-And ...
- VC
原子锁 临界区 互斥量 信号量 事件