随笔 - 750  文章 - 1  评论 - 107  阅读 - 34万

[转][Chrome]浏览器粘贴行为

复制代码
<html>
<head>
    <meta charset="UTF-8">
    <title>test chrome paste image</title>
    <!-- https://www.zhihu.com/question/20893119/answer/19452676 -->
<style>
    DIV#editable {
        width: 400px;
        height: 300px;
        border: 1px dashed blue;
    }
</style>
<script type="text/javascript">
    window.onload=function() {
    function paste_img(e) {
        if ( e.clipboardData.items ) {
            // google-chrome 
            //alert('support clipboardData.items(chrome ...)');
            var ele = e.clipboardData.items
            for (var i = 0; i < ele.length; ++i) {
                if(ele[i].kind == 'string' && ele[i].type == 'text/plain') {
                    ele[i].getAsString(function(text){
                        console.log(text)
                    })
                }
                else if ( ele[i].kind == 'file' && ele[i].type.indexOf('image/') !== -1 ) {
                    var blob = ele[i].getAsFile();
                    window.URL = window.URL || window.webkitURL;
                    var blobUrl = window.URL.createObjectURL(blob);
                    console.log(blobUrl);

                    var new_img= document.createElement('img');
                    new_img.setAttribute('src', blobUrl);
                    var new_img_intro = document.createElement('p');
                    new_img_intro.innerHTML = 'the pasted img url(open it in new tab): <br /><a target="_blank" href="' + blobUrl + '">' + blobUrl + '</a>';

                    document.getElementById('editable').appendChild(new_img);
                    document.getElementById('editable').appendChild(new_img_intro);
                }
            }
        } else {
            alert('non-chrome');
        }
    }
    document.getElementById('editable').onpaste=function(){paste_img(event);return false;};
}

</script>
</head>
<body >
    <h2>test image paste in browser</h2>
    <div id="non-editable" >
        <p>copy the following img, then paste it into the area below</p>
        <!--<img src="./128.png" />-->
    </div>
    <div id="editable" contenteditable="true" >
        <p>this is an editable div area</p>
        <p>paste the image into here.</p>
    </div>
</body>
</html>
复制代码

本文来自:https://www.zhihu.com/question/20893119/answer/19452676

经测试,仅支持 Chrome 浏览器,可支持 文字、图片、Excel 粘贴。

posted on   z5337  阅读(760)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2016-01-12 [转]jQuery 读取 xml
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示