clipboardData:在编辑框中支持复制粘贴图片

这个版本目前不支持移动和ie10及其以下,避免浪费浏览者时间

在编辑框里支持粘贴图片,可省去用户截图保存、再删除的麻烦。查阅了许多资料都是两三年前的了,现在clipboardData的支持程度也比较高了,所以可以很方便的使用了,好大的福音啊。

但我并没有具体测试支持的浏览器都是什么版本,目前我们常用的应该是没问题的了。

没那么强大的逻辑,还喜欢用现成的,所以就想着怎么把代码节省一些。也就造成了目前这个版本,只能获取到图片的base64位编码,其他的功能不满足的还需要自己去拓展。

这一版是引用了jquery,如果在angular环境中,这可能会有些问题, 比如与$sce.trustAsHtml()冲突或者当使用event.clipboardData时,会获取不到(因为event已经被jquery包装过了)。

代码块

index.html:

<!DOCTYPE html>
<html lang="en" ng-app="demo"><head><meta charset="UTF-8"><title>截图上传</title><link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"><style>.demo{border: solid 1px #999;padding: 0.5em;margin: 1em 0 0 0;box-sizing: contentbox;width: 80%;}</style>
</head><body ng-controller="ctrlDemo"><div class="demo" ng-click="paste()">3333333333333333333<div class="reader" contenteditable="true" aria-hidden="true" tabindex="-1" style="width: 100px; height: 100px;position: fixed;overflow:hidden;"></div></div><div id="list"></div>
</body>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/angular.js/1.6.8/angular.js"></script>
<script src="index3.js"></script>
</html>

index.js

'use strict';
var app = angular.module('demo',[]);
app.controller('ctrlDemo',['$scope', function($scope) {function pasteImage(imgObj) {var reader = new FileReader();reader.readAsDataURL(imgObj);// 读取文件后将其显示在网页中reader.onload = function(e) {var img = new Image(), p = document.createElement('p');img.src = e.target.result;p.appendChild(img);$('#list').append(p);};}function imgReader(item) {var blob = item.getAsFile(),reader = new FileReader();reader.onload = function(e){var img = new Image(), p = document.createElement('p');img.src = e.target.result;p.appendChild(img);$('#list').append(p);};reader.readAsDataURL(blob);}; $scope.paste = function() {$('.reader').focus();}/*jquery的写法$('.demo').on('click', (function(event) {return $('.reader').focus();}));*/$('.reader').on('paste', function(event) {// 通过事件对象访问系统剪贴板var clipboardData = event.originalEvent.clipboardData, files, items, item;if (clipboardData) {/*files = clipboardData.files;if (files && files.length) {pasteImage(files[0]);return;}*/ /*用 items 能支持更多的浏览器*/items = clipboardData.items;if(items && items.length) {for(var i=0; i<clipboardData.types.length; i++) {if(clipboardData.types[i] === 'Files') {item = items[i];break;}}if( item && item.kind === 'file' && item.type.match(/^image\//i) ){ imgReader(item); } }}});
}]);

效果图:
这里写图片描述
这里写图片描述

如果需要这种样式的,可以点开这个链接进行查看:
https://github.com/aYellowApple/clipboardData
这里写图片描述
参考资料:
最全面的:https://ruby-china.org/topics/17266
获取灵感的:一个知乎上的回答,翻了翻历史记录没找到那个链接

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

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

相关文章

VNCViewer实现与WIN端文本复制粘贴

主机系统&#xff1a; Win10 View端系统&#xff1a; Ubuntu 16.04 VNCViewer&#xff1a; 6.17 今天踩的第二个坑&#xff0c;主要还是因为懒&#xff0c;有时候懒得打那么多字&#xff0c;就想着和虚拟机一用弄个Vmtools多好&#xff0c;直接复制粘贴。 网上大部分给出的…

如何判断2台设备是否在同一个局域网?

需要局域网环境debug&#xff0c;但是家里只有一个无线路由器台式机(有线连接路由器)开发板&#xff08;无线连接到路由器&#xff09;&#xff0c;因此好奇台式机和开发板是否是同一局域网&#xff1f; 1.台式机输入ipconfig&#xff0c;获取网络信息。 ip 地址是&#xff1a…

ChatGPT大战Copilot,谁才是最强王者

巨人之战&#xff1a;GitHub Copilot vs ChatGPT ⚔️⚔️ 微信搜索关注《Java学研大本营》&#xff0c;加入读者群&#xff0c;分享更多精彩 ChatGPT的发布在编程社区引起了波澜&#xff0c;因为它可以产生令人难以置信的代码片段。 它与去年发布的GitHub Copilot相比如何&am…

什么?作为程序员你还不知道人工智能搜索引擎?

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;蚂蚁集团高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《EffectiveJava》独家解析》专栏作者。 热门文章推荐…

89岁学会做PPT,巴菲特:最好的投资,是投资自己

这世上&#xff0c;那些真正成功的人&#xff0c;都有一个共同特质&#xff1a;能够找到事物的底层逻辑&#xff0c;并能迁移运用它。 如何才能够提升认知&#xff0c;找到事物的底层逻辑&#xff1f;总结下来&#xff0c;就是重视常识&#xff0c;及常识的积累。 何为常识&am…

别让STAR原则的简历毁了你的前途!

群里一个人抱怨&#xff0c;说明明用STAR原则写的简历很不错&#xff0c;怎么连面试机会都没有呢&#xff1f;她打电话到那家公司&#xff0c;人家说&#xff0c;她的简历不符合要求&#xff0c;所以没有安排面试。 她很郁闷&#xff0c;认为自己是不是没有把STAR原则做好&…

公司高层都在为CEO职位争得头破血流,而马斯克竟把职位改成...

马斯克&#xff0c;很多人心中的偶像&#xff0c;随着比特币价格的一路高歌猛进&#xff0c;似乎马斯克的火箭事业又多了不少资金基础。 不过一向语不惊人死不休的马斯克最近又一次进入大众眼帘并非是他的spacex火箭又出了什么幺蛾子&#xff0c;也不是特斯拉咋样了&#xff0c…

大数据-你投的简历真的是你认为的工作么?

大数据-你投的简历真的是你认为的工作么&#xff1f; 我的个人主页 个人主页 我的B站视频 B站视频 数仓岗位jd 钱途⭐⭐⭐⭐⭐ 看内容是否包含模型建设、etl、调度、监控、数据质量、数据治理、阿里云组件、spark/flink、熟悉一门语言等这些关键词例 负责数据体系的研发设…

乔布斯、比尔盖茨18岁求职简历曝光! 科技大佬也曾是职场菜鸟

乔布斯和比尔盖茨,是IT界的两大传奇人物,人们都说: “乔布斯之后再无乔布斯,盖茨之后没有第二个盖茨。” ​ 可是,在他们创办苹果、微软之前,他们也曾是茫茫人海里的一名求职者。

沉睡者的简历-有老板需要招兵买马吗?您的成功就差一个我

基本资料 昵称&#xff1a; 沉睡者 主要能力&#xff1a;项目产品研发&#xff0c;产品筹划&#xff0c;产品优化&#xff0c;数据分析&#xff0c;产品下载安装购买力提升 等... 半个运营能力&#xff1a;产品引流策划&#xff0c;广告联盟付费引流&#xff08;不是烧钱推广的…

能杀入BAT的程序员,简历中工作经验是这么写的……

一份简历如果没有工作经验的支撑&#xff0c;那么就说不上是一份优秀的简历。 如果说学历、专业是硬性条件&#xff0c;那么工作经验就是简历的核心。HR在查看简历时&#xff0c;在筛选完基本信息之后&#xff0c;最感兴趣的就是工作经历部分。因此&#xff0c;在填写简历时&am…

接入VISA卡进行USDT消费,如何开通并使用 OneKey Card 微信和支付宝全面开放

OneKey Card 公测中 注册链接&#xff1a;https://card.onekey.so/?iXRI549 认证必需填写邀请码&#xff1a;XRI549 邀请好友获得升级和奖励&#xff01; - 完成「邀请好友开卡」升级账户&#xff0c;获得更多奖励和更低充值费率 - &#x1f525; 公测期间&#xff0c;任务要…

文献调研方法:如何在dplp/谷歌学术中筛选CCF A/B/C类

最近在做文献调研&#xff0c;师兄要求筛选出满足一些条件的CFF A类的论文&#xff0c;但是打开谷歌学术后搜索&#xff0c;要是每篇都点开&#xff0c;再去查找相关会议会很耗时&#xff0c;那么如何在dblp/google scholar中高效筛选出满足条件的CCF A/B/C类论文&#xff1f; …

如何寻找计算机领域的英文文献?

大家一定或多或少都有文献检索的经验吧&#xff0c;中文文献还好&#xff0c;我们总归是对自己的的母语比较熟悉&#xff0c;通过关键词或其他检索条件&#xff0c;总能得心应手地找到自己需要的文献。相较于中文文献&#xff0c;对外文文献的检索就显得难度增加了不少&#xf…

windwos11 小爱音箱链接上但是没有声音

1. winr&#xff0c;输入regedit&#xff0c;打开注册表 2.复制下方路径 到这里 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Bluetooth\Audio\AVRCP\CT 然后敲击回车 修改这个变量 改为1 默认是 0 有的用户发现没有这个变量 DisableAbsoluteVolume 右键空白区域新建-…

小爱音箱当电脑音箱(电脑没有蓝牙)

1.电脑安装pc端&#xff0c;&#xff08;需要汉化的可以用汉化文件覆盖安装文件&#xff09;&#xff0c;只有记住上面的服务器地址就可以了。 2.手机端安装app &#xff08;需要电脑和手机在一个局域网内共性wifi&#xff09;输入上面的服务器地址&#xff0c;点图标。 3.电…

小爱音箱显示服务器连接不上,小爱音箱为什么连不上网络

有的时候&#xff0c;我们在使用小爱音箱时&#xff0c;可能会遇到连接不上网络的问题&#xff0c;有的是新音箱首次连接网络&#xff0c;直接就是连接不上&#xff0c;有的是明明之前好好的&#xff0c;现在突然连不上wifi网络了!为什么会出现这种情况呢?怎么解决小爱音箱连接…

小爱音箱显示服务器连接不上,小爱音箱无法连接WiFi解决方法

对于智能音箱&#xff0c;小米官方推出的小爱音箱一直受到很多用户的关注和喜爱&#xff0c;但是有些用户反馈表示&#xff0c;小爱音箱会出现无法连接wifi的情况&#xff0c;这是怎么回事呢?下面就让我们跟随小编一起来看看解决的方法吧。 小爱音箱 小爱音箱不能连WiFi是什么…

快速接入小爱音箱,操作电脑动动嘴

前言 如果有个设备能把你说的话传递到电脑中&#xff0c;这样你可以基于他开发一些软件&#xff0c;动动嘴就可以操作电脑&#xff0c;我想&#xff0c;这一定会给生活添加一些乐趣&#xff0c;而小爱音箱是个不二选择&#xff0c;开发也比较简单&#xff0c;如果用官方方式开…

如何用电脑连接小爱同学蓝牙音箱

很多朋友问我电脑连接小爱同学后&#xff0c;发现小爱同学没有声&#xff0c;但是蓝牙显示正常连接&#xff0c;今天我为大家出一个详细的教学。 进入小爱同学的蓝牙设置&#xff0c;将蓝牙可被发现打开&#xff1b;然后打开电脑蓝牙&#xff0c;进行小爱同学蓝牙配对&#xf…