코드이그나이터 기반 PHP 오픈소스 게시판 : 씨아이보드

post에 글주소 클립보드 복사기능 대체(크롬에서 정상작동)

  • 꽃이피는첫걸음
  • 2
  • 2,721
  • 글주소
  • 10-05

글 내용보기의 글주소 복사 기능이 ZeroClipboard.js가 플래시를 사용하는 관계로 크롬에서는 작동하지 않습니다.

다른 라이브러리를 통하여 구현하여 작동하는 방법 입니다.


첨부한 2개의 파일을 /assets/js/ 폴더에 넣어줍니다.


/views/board/basic/post.php 두번째 라인부터 수정입니다.


<?php //$this->managelayout->add_js(base_url('plugin/zeroclipboard/ZeroClipboard.js')); ?>

<?php $this->managelayout->add_js(base_url('assets/js/clipboard.min.js')); ?>

<?php $this->managelayout->add_js(base_url('assets/js/copyToClipboard.js')); ?>


44라인 수정

<li class="copy_post_url" data-clipboard-action="copy" data-clipboard-text="<?php echo element('short_url', $view); ?>"><span><i class="fa fa-link"></i> 글주소</span></li>
 
401라인 스크립트 수정

//<![CDATA[
$(function() {
var clipboard = new ClipboardJS('.copy_post_url');
clipboard.on('success', function(e) {
alert('게시글 주소가 복사되었습니다. \'Ctrl+V\'를 눌러 붙여넣기 해주세요.');
e.clearSelection();
});

clipboard.on('error', function(e) {
if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {
  copyToClipboard('.copy_post_url');
  alert('게시글 주소가 복사되었습니다. \'Ctrl+V\'를 눌러 붙여넣기 해주세요.');
} else {
  alert('클립보드 복사를 사용할 수 없습니다.');
}
});
});
//var client = new ZeroClipboard($('.copy_post_url'));
//client.on('ready', function(readyEvent) {
//    client.on('aftercopy', function(event) {
//        alert('게시글 주소가 복사되었습니다. \'Ctrl+V\'를 눌러 붙여넣기 해주세요.');
//    });
//});
//]]>