深圳全飞鸿

标题: 解决社区动力discuz不能复制连接的问题 [打印本页]

作者: zhgc    时间: 2022-9-11 08:16
标题: 解决社区动力discuz不能复制连接的问题
本帖最后由 zhgc 于 2022-9-11 08:38 编辑

解决社区动力discuz不能复制连接的问题


原功能由flash实现,现在flash功能已不再可用
  1. function _setCopy(text, msg){
  2.         if(BROWSER.ie) {
  3.                 var r = clipboardData.setData('Text', text);
  4.                 if(r) {
  5.                         if(msg) {
  6.                                 showPrompt(null, null, '<span>' + msg + '</span>', 1500);
  7.                         }
  8.                 } else {
  9.                         showDialog('<div class="c"><div style="width: 200px; text-align: center;">复制失败,请选择“允许访问”</div></div>', 'alert');
  10.                 }
  11.         } else {
  12.                 var msg = '<div class="c"><div style="width: 200px; text-align: center; text-decoration:underline;">点此复制到剪贴板</div>' +
  13.                 AC_FL_RunContent('id', 'clipboardswf', 'name', 'clipboardswf', 'devicefont', 'false', 'width', '200', 'height', '40', 'src', STATICURL + 'image/common/clipboard.swf', 'menu', 'false',  'allowScriptAccess', 'sameDomain', 'swLiveConnect', 'true', 'wmode', 'transparent', 'style' , 'margin-top:-20px') + '</div>';
  14.                 showDialog(msg, 'info');
  15.                 text = text.replace(/[\xA0]/g, ' ');
  16.                 CLIPBOARDSWFDATA = text;
  17.         }
  18. }
复制代码




作者: zhgc    时间: 2022-9-11 08:37
本帖最后由 zhgc 于 2022-9-11 08:38 编辑

修改后的代码


  1. function syantCopyText(text){
  2.         var textareaC = document.createElement('textarea');
  3.         textareaC.setAttribute('readonly', 'readonly'); //设置只读属性防止手机上弹出软键盘
  4.         textareaC.value = text;
  5.         document.body.appendChild(textareaC); //将textarea添加为body子元素
  6.         textareaC.select();
  7.         var res = document.execCommand('copy');
  8.         document.body.removeChild(textareaC);//移除DOM元素
  9.         return true;
  10. }
  11. function _setCopy(text, msg){
  12.         if(BROWSER.ie) {
  13.                 var r = clipboardData.setData('Text', text);
  14.                 if(r) {
  15.                         if(msg) {
  16.                                 showPrompt(null, null, '<span>' + msg + '</span>', 1500);
  17.                         }
  18.                 } else {
  19.                         showDialog('<div class="c"><div style="width: 200px; text-align: center;">复制失败,请选择“允许访问”</div></div>', 'alert');
  20.                 }
  21.         } else {
  22.                 var r = syantCopyText(text);
  23.                 if(r) {
  24.                         if(msg) {
  25.                                 showPrompt(null, null, '<span>' + msg + '</span>', 1500);
  26.                         }
  27.                 } else {
  28.                         showDialog('<div class="c"><div style="width: 200px; text-align: center;">复制失败,非IE模式</div></div>', 'alert');
  29.                 }               
  30.         }
  31. }
复制代码









欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/) Powered by Discuz! X3.2