zoukankan      html  css  js  c++  java
  • ios html5 长按复制文本

    以前做的项目,主要是针对ios的,安卓上面也没有测试。

    原理其实是系统自带的功能,那时候借鉴的其他网站,没有试验通过document.execCommand("Copy"),别的js方式。

    现在手上也没有设备了,这边只是提供html实现的方式。

    1.跟网上的博客介绍的一样的,要满足

       a.要复制的内容独占一行,不要和其他内容在一行(通过相对定位的也不可以)

       b.设置-webkit-user-select:initial;

    2.ios9下面就是有问题,找了相同项目发现他们都正常的,研究了半天,原来他们是通过在外面遮盖一个未知的img,alt设置需要复制的内容实现的

    下面是主要的html,css,仅供参考

    <style>
    //css
    .task-key-img {
        -webkit-user-select: none;
        z-index: 2;
        opacity: 0;
    }
    .task-key-img, .task-key-shadow {
        position: absolute;
        top: 0;
        display: block;
        width: 100%;
        height: 100%;
        left: 0;
    }
    </style>
    //html
    <div class="url w100 tac pt6 pb6" style="-webkit-user-select:initial;position:relative;">
        <img class="task-key-img" alt="复制的内容" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAFklEQVQImWP8//8/AwMDEwMDAwMDAwAkBgMBmjCi+wAAAABJRU5ErkJggg==">
        <div class="task-key-shadow"></div>
        <span style="-webkit-user-select:initial;font-size: 14px;">复制的内容</span>
    </div>

    3.有些推广的(如钱咖),点按钮就进行了复制,(是通过app实现的,通过http或这websocket的方式,调用后台运行的钥匙功能)

  • 相关阅读:
    Windows性能计数器应用
    Azure Oracle Linux VNC 配置
    Azure 配置管理系列 Oracle Linux (PART6)
    Azure 配置管理系列 Oracle Linux (PART5)
    Azure 配置管理系列 Oracle Linux (PART4)
    Azure 配置管理系列 Oracle Linux (PART3)
    Azure 配置管理系列 Oracle Linux (PART2)
    vagrant多节点配置
    docker基本操作
    LINUX开启允许对外访问的网络端口命令
  • 原文地址:https://www.cnblogs.com/legu/p/5787379.html
Copyright © 2011-2022 走看看