ZeroClipboard无法在移动版网站上运行

时间:2014-02-18 06:33:46

标签: javascript drupal footer zeroclipboard

我已在我们的网站上实施了ZeroClipboard功能 - http://couponvoodoo.com/rcp/Jabong.com/coupons-offers?field_offer_type_tid=All 我正在使用Drupal-7

它在桌面版上运行良好,但不能在网站的移动版本上运行。 我在页脚中添加了以下代码:

<script type="text/javascript">
copy_coupon_footer();
function copy_coupon_footer(){
var divArray = document.getElementsByClassName("unlock_best_coupon");
for (var i = 0, len = divArray.length; i < len; ++i) {
var offer_type = divArray[i].getAttribute('data-clipboard-text');
// alert('offer_type '+offer_type );
try{
       var id = divArray[i].getAttribute( 'id' );
      var client = new ZeroClipboard( document.getElementById(id), {moviePath:'/moviePath' } ); 
      client.on( 'load', function(client) { 
       client.on( 'complete', function(client, args) {try{
      var url = this.getAttribute("href");
       var coupon_code = url.split('&c=')[1].split('&')[0];
       this.innerHTML = coupon_code;
       var classname = this.className+' copied_coupon';
       this.setAttribute("class",classname);
//     window.open(url,'_blank');
     window.location.href = url;
       }catch(e){}
       } );
      } );

     }catch(e){alert(e.message);}
  }
     return false;
  }

</script>

2 个答案:

答案 0 :(得分:4)

ZeroClipboard需要Adobe Flash才能执行它的剪贴板功能,因此它不适用于没有安装Adobe Flash的任何浏览器。

因此,由于几乎没有任何带有Adobe Flash的移动设备(只有少数较旧的Android设备),因此它无法在移动设备上运行。

当我向this question询问有关不需要Adobe Flash的ZeroClipboard的替代方案时,没有提供其他解决方案。

答案 1 :(得分:1)

这个答案可能有点晚了,但我已经创建了一个非常容易使用的zeroclipboard的纯JavaScript替代品。这是:Github repository。这是代码:

function clip(text) {   
    var copyElement = document.createElement('input');
    copyElement.setAttribute('type', 'text');
    copyElement.setAttribute('value', text);
    copyElement = document.body.appendChild(copyElement);
    copyElement.select();
    document.execCommand('copy');
    copyElement.remove();
}