clipboard.js存在的問題

clipboard.js  是一個複製到剪貼板的庫。javascript

github:https://github.com/zenorocha/clipboard.jsjava

兼容性:IE9一下不支持。git

再作微信端的項目接到了一個需求。點擊按鈕把指定的內容複製到剪貼板中。github

剛開始用的是:document.execCommand("Copy"); 大部分的屬性只有IE支持。好比:貼貼。瀏覽器

想了想我只用複製並且用的是微信端。只要安卓和蘋果支持可以使用就能夠了。微信

<input type="text" id="contents" value="測試複製">
<a id="but" onclick="jsCopy()">點擊複製</a>

<script type="text/javascript">
    function jsCopy(){
      var e=document.getElementById("contents");//對象是contents
      e.select(); //選擇對象
      tag=document.execCommand("Copy","false",null); //執行瀏覽器複製命令
      if(tag){
        alert('複製內容成功');
      }
    }
</script>   

emmmmmmm。缺點就是:必需要一個input文本框才能使用。並且還不能display:none隱藏掉。必須opacity。測試

有點坑,先測試,安卓華爲:成功。蘋果5:失敗。spa

蘋果失敗了那就pass掉。code

從網上找找有沒有庫。ZeroClipboard.js對象

這個庫經過加載一個 Flash 來實現的。這個我是拒絕的。不事後來測試了一下。安卓成功,蘋果失敗。(可能沒仔細研究)

再找:

Clipboard.js 。體積少,沒有引入亂七八糟的東西。我比較喜歡。

 <a id="but" >點擊複製</a>

<script type="text/javascript">
    var clipboard = new Clipboard('#but', {
    text: function() {    // 若是想從其它DOM元素內容複製。應該是target:function(){return: };
      return '測試複製';
    }
  });
  clipboard.on('success', function(e) {
    alert("複製成功");
  });

  clipboard.on('error', function(e) {
    alert("複製失敗");
  });
</script>

結構比較明確。new一個實例。而後調用方法。

再測試,安卓:成功。 蘋果:失敗。

why!!!!!

從網上找:

想讓蘋果支持這個功能。元素只能爲button標籤。其它均不成。

 <button id="but" >點擊複製</button>

<script type="text/javascript">
    var clipboard = new Clipboard('#but', {
    text: function() {    // 若是想從其它DOM元素內容複製。應該是target:function(){return: };
      return '測試複製';
    }
  });
  clipboard.on('success', function(e) {
    alert("複製成功");
  });

  clipboard.on('error', function(e) {
    alert("複製失敗");
  });
</script>

 成功!。

相關文章
相關標籤/搜索