深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 446|回复: 1
打印 上一主题 下一主题

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

[复制链接]

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
跳转到指定楼层
楼主
发表于 2022-9-11 08:16:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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. }
复制代码



回复

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
沙发
 楼主| 发表于 2022-9-11 08:37:26 | 只看该作者
本帖最后由 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. }
复制代码




回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-5 00:15 , Processed in 0.057671 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表