以前做的項目,主要是針對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的方式,調用后台運行的鑰匙功能)