mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 18:51:41 +09:00
addon autolink: script 전후로 CDATA 추가
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4163 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f4fadaabae
commit
b67dcb1d3f
1 changed files with 3 additions and 1 deletions
|
|
@ -14,7 +14,9 @@
|
|||
$script_code = <<<EndOfScript
|
||||
|
||||
<script type="text/javascript">
|
||||
var url_regx = new RegExp("(http|https|ftp|news)://([-/.a-zA-Z0-9_~#%$?&=:200-377()]+)","gi"); function replaceHrefLink(obj) { while(obj) { if(obj.nodeType == 3) { var text = obj.data; if(url_regx.test(text)) { var html = text.replace(url_regx,"<a href=\"$1://$2\" onclick=\"window.open(this.href); return false;\">$1://$2</a>"); var dummy = xCreateElement('span'); xInnerHtml(dummy, html); obj.parentNode.insertBefore(dummy, obj); obj.parentNode.removeChild(obj); } } if(obj.firstChild) replaceHrefLink(obj.firstChild); obj = obj.nextSibling; } } function addUrlLink() { var objs = xGetElementsByClassName('xe_content'); if(objs.length<1) return; for(var i=0;i<objs.length;i++) { replaceHrefLink(objs[i].firstChild); xAddEventListener(objs[i], 'mouseover', showUrlOpener); } } function showUrlOpener(e) { var evt = new xEvent(e); var obj = evt.target; var layer = xGetElementById('zbXEUrlOpener'); if(!layer) { layer = xCreateElement('div'); layer.style.position = 'absolute'; layer.style.border = '3px solid #DDDDDD'; layer.style.backgroundColor = '#FFFFFF'; layer.style.padding = '5px'; layer.style.visibility = 'hidden'; layer.style.lineHeight = '1.6'; layer.setAttribute('id','zbXEUrlOpener'); document.body.appendChild(layer); } if(obj && obj.nodeName == 'A' && obj.getAttribute('href') && !/#/.test(obj.getAttribute('href'))) { var href = obj.getAttribute('href'); if(href.length>40) href = href.substr(0,40)+'...'; var html = ''+ '<a href="'+obj.getAttribute('href')+'" onclick="window.open(this.href); return false;" style="text-decoration:none; color:#555555;">'+href+'</a> [{$open_new_window}]<br />'+ '<a href="'+obj.getAttribute('href')+'" style="text-decoration:none; color:#555555;">'+href+'</a> [{$open_cur_window}]'+ ''; xInnerHtml(layer, html); xLeft(layer, evt.pageX-20); xTop(layer, evt.pageY-10); layer.style.visibility = 'visible'; } else { layer.style.visibility = 'hidden'; } } xAddEventListener(window,'load', addUrlLink);
|
||||
// <![CDATA[
|
||||
var url_regx = new RegExp("(http|https|ftp|news)://([-/.a-zA-Z0-9_~#%$?&=:200-377()]+)","gi"); function replaceHrefLink(obj) { while(obj) { if(obj.nodeType == 3) { var text = obj.data; if(url_regx.test(text)) { var html = text.replace(url_regx,"<a href=\"$1://$2\" onclick=\"window.open(this.href); return false;\">$1://$2</a>"); var dummy = xCreateElement('span'); xInnerHtml(dummy, html); obj.parentNode.insertBefore(dummy, obj); obj.parentNode.removeChild(obj); } } if(obj.firstChild) replaceHrefLink(obj.firstChild); obj = obj.nextSibling; } } function addUrlLink() { var objs = xGetElementsByClassName('xe_content'); if(objs.length<1) return; for(var i=0;i<objs.length;i++) { replaceHrefLink(objs[i].firstChild); xAddEventListener(objs[i], 'mouseover', showUrlOpener); } } function showUrlOpener(e) { var evt = new xEvent(e); var obj = evt.target; var layer = xGetElementById('zbXEUrlOpener'); if(!layer) { layer = xCreateElement('div'); layer.style.position = 'absolute'; layer.style.border = '3px solid #DDDDDD'; layer.style.backgroundColor = '#FFFFFF'; layer.style.padding = '5px'; layer.style.visibility = 'hidden'; layer.style.lineHeight = '1.6'; layer.setAttribute('id','zbXEUrlOpener'); document.body.appendChild(layer); } if(obj && obj.nodeName == 'A' && obj.getAttribute('href') && !/#/.test(obj.getAttribute('href'))) { var href = obj.getAttribute('href'); if(href.length>40) href = href.substr(0,40)+'...'; var html = ''+ '<a href="'+obj.getAttribute('href')+'" onclick="window.open(this.href); return false;" style="text-decoration:none; color:#555555;">'+href+'</a> [{$open_new_window}]<br />'+ '<a href="'+obj.getAttribute('href')+'" style="text-decoration:none; color:#555555;">'+href+'</a> [{$open_cur_window}]'+ ''; xInnerHtml(layer, html); xLeft(layer, evt.pageX-20); xTop(layer, evt.pageY-10); layer.style.visibility = 'visible'; } else { layer.style.visibility = 'hidden'; } } xAddEventListener(window,'load', addUrlLink);
|
||||
// ]]>
|
||||
</script>
|
||||
|
||||
EndOfScript;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue