1if(!window.Common) { 2 Common = {}; 3} 4 5$(document).ready(function () { 6 7 Common.SnsShareCommon.init(); 8 9 // í¸í°ì ê´ë ¨ì¬ì´í¸ í´ë¦ ì 10 $('div.related-site-wrap .related-select').change(function() { 11 var selectedOption = $(this).find('option:selected'); // ì íë <option> ê°ì ¸ì¤ê¸° 12 var target = selectedOption.data('target'); // data-target ê° ê°ì ¸ì¤ê¸° 13 var url = selectedOption.val(); // value ê° ê°ì ¸ì¤ê¸° 14 15 if (url) { // URLì´ ì¡´ì¬íë ê²½ì°ë§ ì¤í 16 if (target === '_blank') { 17 window.open(url, '_blank'); // ì ì°½ìì ì´ê¸° 18 } else { 19 window.location.href = url; // íì¬ ì°½ìì ì´ë 20 } 21 } 22 }); 23 24}); 25 26//sns ê³µì 27Common.SnsShareCommon = function() { 28 29 var self; 30 var sns = { 31 "facebook": "https://www.facebook.com/sharer/sharer.php?u=", 32 "twitter": "https://twitter.com/intent/tweet?url=", 33 "instagram": "#" // ì¸ì¤íê·¸ë¨ì ë§í¬ ë³µì¬ë¥¼ ì²ë¦¬í ìì 34 }; 35 36 var _thisHost = location.protocol + '//' + location.host; 37 38 return { 39 init: function () { 40 self = this; 41 42 // SNS ê³µì ê¸°ë¥ ì´ê¸°í 43 self.snsShare(); 44 45 self.copyUrl(); 46 }, 47 48 snsShare: function () { 49 $('.sns_pop > ul > li:not(.url)').click(function (e) { 50 var shortUrl; 51 e.preventDefault(); 52 53 var $this = $(this), id = $this.attr('class'), 54 url, title; 55 var className = $this.attr('class').replace(/\s{2,20}/g, ' '), 56 classes = className.split(' '); // í´ëì¤ ë¶ë¦¬ 57 58 if (classes.length > 0) { 59 url = sns[classes[0]]; 60 } 61 62 if (typeof (url) != 'undefined') { 63 64 var paramMap = $.unparam(); 65 66 // ê° íë¼ë¯¸í°ë¥¼ ìííë©° 'article.offset'ì 'articleLimit'를 ì ì¸í íë¼ë¯¸í°ë¤ì newQueryStringì ì¶ê° 67 var excludes = ['article.offset', 'articleLimit', 'pager.offset', 'pagerLimit']; 68 69 var newQueryString = ''; 70 71 for (var key in paramMap) { 72 if (!key) continue; 73 if (excludes.indexOf(key) >= -1) continue; 74 75 if (newQueryString) { 76 newQueryString += '&'; 77 } 78 newQueryString += key + '=' + paramMap[key]; 79 } 80 81 if (newQueryString) { 82 newQueryString = '?' + newQueryString; 83 } 84 85 // ì§§ì URL 구í기 86 $.ajax({ 87 url: '/cms/util/getShortUrl.do', 88 data: { 89 url: location.pathname + newQueryString 90 }, 91 success: function (json) { 92 if (json.success) { 93 shortUrl = _thisHost + '/s.do?' + json.shortUrl; 94 } 95 }, 96 async: false, 97 dataType: 'json' 98 }); 99 100 if ($this.attr('data-title')) { 101 title = encodeURIComponent($this.attr('data-title')); 102 } else { 103 title = encodeURIComponent(document.title); 104 } 105 106 // ê° SNSì ë§ë URL ì¤ì 107 if ($this.hasClass('facebook')) { 108 url += encodeURIComponent(shortUrl); 109 } 110 if ($this.hasClass('twitter')) { 111 url += encodeURIComponent(shortUrl) + '&text=' + title; 112 } 113 if ($this.hasClass('instagram')) { 114 // ì¸ì¤íê·¸ë¨ì ì§ì ì ì¸ URL ê³µì 를 ì ê³µíì§ ì기 ë문ì, ë§í¬ ë³µì¬ ë°©ìì¼ë¡ ì²ë¦¬ 115 prompt('ì¸ì¤íê·¸ë¨ì ë§í¬ë¥¼ ë³µì¬íì¬ ë¶ì¬ë£ê¸°:', shortUrl); 116 return; 117 } 118 119 window.open(url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=680,width=830'); 120 } 121 }); 122 }, 123 124 copyUrl : function () { 125 126 $(document).on('click', 'a[data-copy-url]', function(e) { 127 e.preventDefault(); 128 }); 129 130 if( $('[data-copy-url]').length > 0 ){ 131 132 var btns = document.querySelectorAll('[data-copy-url]'); 133 //var currentUrl = window.location.href; //ì¼ë° ë§í¬ ë³µì¬ 134 var shortUrl = window.location.href; 135 136 // ì§§ì 주ì 구í기 137 $.ajax({ 138 url: '/cms/util/getShortUrl.do', 139 data: { 140 url: location.pathname + location.search 141 }, 142 success: function(json) { 143 if(json.success) { 144 shortUrl = _thisHost+'/s.do?'+ json.shortUrl; 145 } 146 }, 147 async: false, 148 dataType: 'json' 149 }); 150 151 //ë§í¬ë³µì¬ ë²í¼ì´ 1ê° ì´ìì¡´ì¬í¨, 기존 idë¡ ì ì´íë ë°©ììì classë¡
151 ì ì´íë ì½ëë¡ ë³ê²½ 152 for(var i = 0; i < btns.length; i++){ 153 var btn = btns[i]; 154 155 btn.setAttribute('data-copy-url', shortUrl); //ì§§ì ë§í¬ ë³µì¬ 156 157 var clipboard = new ClipboardJS(btn, { 158 text: function(trigger) { 159 return trigger.getAttribute('data-copy-url'); 160 } 161 }); 162 163 clipboard.on('success', function(e) { 164 alert('ë³µì¬ëììµëë¤.'); 165 }); 166 clipboard.on('error', function(e) { 167 console.log('fail...'); 168 console.log(e); 169 }); 170 171 } 172 173 } 174 } 175 }; 176 177}(); 178
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.