Saturday, November 17, 2012

JavaScript Popup Copy Code

Letakkan kode ini di atas </body>:

<script>
//<![CDATA[
function copy_code(id) {
    var ref = document.getElementById(id),
        code = ref.getElementsByTagName('code')[0].innerHTML,
        w_w = window.innerWidth,
        w_h = window.innerHeight,
        win = window.open('', '', 'left=' + ((w_w/2)-250) + ',top=' + ((w_h/2)-150) + ',width=500,height=300,scrollbars=0');
    win.document.write('<!DOCTYPE html><html><head><title>Source Code</title><style>*{margin:0;padding:0}body{padding:10px;text-aign:center}textarea{display:block;width:98%;height:270px;padding:1px 1px;margin:0 auto;text-align:left;overflow:auto}</style></head><body><textarea>' + code.replace(/<(.*?)>/g, "") + '</textarea><scr' + 'ipt>var a=document.getElementsByTagName(\'textarea\')[0];a.focus();a.select();</scr' + 'ipt></body></html>');
}

function add_copy_button() {
    var pre = document.getElementsByTagName('pre');
    for (var i = 0; i < pre.length; i++) {
        pre[i].id = 'code-' + i;
        pre[i].className += ' quick-copy';
        pre[i].innerHTML += '<a class="c_b" href="javascript:copy_code(\'code-' + i + '\');">Copy</a>';
    }
} add_copy_button();
//]]>
</script>

Lalu tambahkan kode CSS ini di atas ]]></b:skin> atau </style>:

pre {position:relative}
pre .c_b {
  display:block;
  position:absolute;
  top:0;
  right:0;
  padding:2px 5px;
}

Markup HTML

<pre><code> ... </code></pre>

Demo:

Labels: , ,

13 Comments:

At Saturday, November 17, 2012 at 10:49:00 PM GMT+7, Blogger Unknown said...

Terima Kasih mas..
:-bd

 
At Saturday, November 17, 2012 at 10:55:00 PM GMT+7, Blogger Unknown said...

Good \o/

 
At Sunday, November 18, 2012 at 9:00:00 AM GMT+7, Blogger Unknown said...

cooool \o/ :yaya:

 
At Monday, November 19, 2012 at 6:58:00 PM GMT+7, Blogger Beben Koben said...

kok kek kayak ini ya
http://hompimpaalaihumgambreng.blogspot.com/2012/05/view-plain-code.html

 
At Monday, November 19, 2012 at 7:48:00 PM GMT+7, Blogger Taufik Nurrohman said...

Yang ini tanpa JQuery, versi JavaScript mentah.

 
At Saturday, November 24, 2012 at 2:25:00 PM GMT+7, Blogger uki said...

ehm...telimikiciw :)

 
At Wednesday, December 19, 2012 at 10:00:00 PM GMT+7, Anonymous Anonymous said...

Mas, ini kan untuk <pre></pre> , kalo untuk <blockquote></blockquote> gimana solusinya ya mas??? :)

 
At Thursday, December 20, 2012 at 6:14:00 PM GMT+7, Blogger Taufik Nurrohman said...

Ganti pre dengan blockquote:

var pre = document.getElementsByTagName('blockquote');

Format kode harus tetap menggunakan elemen <code> di dalamnya:

<blockquote>
<code> ... </code>
</blockquote>

 
At Saturday, May 4, 2013 at 3:41:00 AM GMT+7, Blogger Unknown said...

mau nanya nih bang ..
ane udah buat pre-tag vanilla ,
nah untuk buat tombol copynya ke dalam pre-tag vanilla gmna ya ??

 
At Saturday, May 4, 2013 at 6:15:00 AM GMT+7, Blogger Taufik Nurrohman said...

Ikuti saja perintahnya, nanti tombolnya akan muncul sendiri. Atau kalau tidak muncul, mungkin tombolnya terselip di belakang. Jadi nilai z-index tombol harus ditambahkan dan diperbesar:

pre .c_b {
display:block;
position:absolute;
top:0;
right:0;
padding:2px 5px;
z-index:99;
}

 
At Friday, May 31, 2013 at 8:38:00 AM GMT+7, Anonymous Anonymous said...

masih bingung mas save dulu mas yah

 
At Friday, May 29, 2015 at 9:26:00 PM GMT+7, Blogger Unknown said...

mas buatin donk tutorial biar open source blog kita tidak bisa di baca seperti situsnya mas ini.

 
At Sunday, May 31, 2015 at 3:33:00 PM GMT+7, Blogger Taufik Nurrohman said...

Maksudnya CSS dan JavaScript eksternal?

/2015/01/perkenalan-html.html

 

Post a Comment

<< Home