<script language='JavaScript'> //link1 과 link2 지정해
넣은 홈을 통해서 들어오지 않으면 무단링크 취급 기본홈페이지로 열리는 소스 var
home_url="http://www.tagin.net"; // 기본 홈페이지 var
link1="http://tagin.net/"; var link2="http://www.naver.com/"; if
(document.referrer.indexOf(home_url)==-1 &&
document.referrer.indexOf(link1)==-1 &&
document.referrer.indexOf(link2)==-1) { if (document.referrer) {
alert("무단링크 하셨습니다.!"); // 무단링크시 에러
메세지 window.location=home_url; // 기본 홈으로 이동 } else
{ alert("무단링크 하셨습니다. "); // 무단링크시 에러
메세지 window.location=home_url; // 기본 홈으로 이동 } }
</script>
보통 IE5,5와 IE6에서의 투명 PNG이미지 처리시 CSS와 스크립트로 다음과 같이 처리하는데
.png24 { tmp:expression(setPNG24(this)); }
/* png24 이미지 파일을 웹에서 투명하게 변경하는 스크립트 */ function setPNG24(obj) { obj.width=obj.height=1; obj.className=obj.className.replace(/\bPNG24\b/i,''); obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');" obj.src=''; return ''; }
보통 위와 같이 처리하면 onmouseover='this.src=this.src.replace(".gif","_over.gif")'와 같이 처리하는데..
이미지 토글처리를 하다가 setPNG로 filter:progid:DXImageTransform 필터가 적용되면 mouseover 이벤트로 이미지 변경이 되지 않았다. IE7, IE6에서 필터가 적용되면 onclick, onmouseover이던지 이벤트는 모두 먹어버리고 심지어 <a>태그도 먹질 않는다. 다른 브라우저에서는 아예 filter 속성이 먹질 않아서 정상적으로 작동한다.
<!--[if lt IE 7]> <script type="text/javascript"> var arVersion = navigator.appVersion.split("MSIE") var version = parseFloat(arVersion[1]) function correctPNG() // correctly handle PNG transparency in Win IE 5.5 and 6. { if ((version >= 5.5) && (document.body.filters)) { for(var i=0; i<document.images.length; i++) { var img = document.images[i] var imgName = img.src.toUpperCase() if (imgName.substring(imgName.length-3, imgName.length) == "PNG") { var imgID = (img.id) ? "id='" + img.id + "' " : "" var imgClass = (img.className) ? "class='" + img.className + "' " : "" var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' " var imgStyle = "display:inline-block;" + img.style.cssText var imgAttribs = img.attributes; for (var j=0; j<imgAttribs.length; j++) { var imgAttrib = imgAttribs[j]; if (imgAttrib.nodeName == "align") { if (imgAttrib.nodeValue == "left") imgStyle = "float:left;" + imgStyle if (imgAttrib.nodeValue == "right") imgStyle = "float:right;" + imgStyle break } } var strNewHTML = "<span " + imgID + imgClass + imgTitle strNewHTML += " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" strNewHTML += "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" strNewHTML += "(src='" + img.src + "', sizingMethod='scale');\"" strNewHTML += " onmouseover=\"PNGswap('" + img.id + "');\" onmouseout=\"PNGswap('" + img.id +"');\"" strNewHTML += "></span>" img.outerHTML = strNewHTML i = i-1 } } } } window.attachEvent("onload", correctPNG); function PNGswap(myID) { var strOver = "_on" var strOff = "_off" var oSpan = document.getElementById(myID) var currentAlphaImg = oSpan.filters(0).src if (currentAlphaImg.indexOf(strOver) != -1) oSpan.filters(0).src = currentAlphaImg.replace(strOver,strOff) else oSpan.filters(0).src = currentAlphaImg.replace(strOff,strOver) }
</script> <![endif]-->
<script language="JavaScript" type="text/javascript"> <!-- function imgSwap(oImg) { var strOver = "_on" // image to be used with mouse over var strOff = "_off" // normal image var strImg = oImg.src if (strImg.indexOf(strOver) != -1) oImg.src = strImg.replace(strOver,strOff) else oImg.src = strImg.replace(strOff,strOver) } //--> </script>
listeners: { 'tabchange': function(tabPanel, tab){ // Ignore tab1 since it is a separate tab panel and we're managing history for it also. // We'll use its handler instead in that case so we don't get duplicate nav events for sub tabs. if(tab.id != 'tab1'){ Ext.History.add(tabPanel.id + tokenDelimiter + tab.id); } } }
위의 탭기능중 sub-tab3 를 선택한위 상단 탭을 클릭햇을 경우 다시 돌아왔을때 sub-tab3이 선택되어 있게 만들어준다. 이전 버전에서는 별도의 글로벌변수로 선언해준뒤 사용했었는데 이번 릴리즈에는 포함되어 나와서 상당히 편할듯하다.. 히스토리 컴포넌트 사용시에는 URL 핸들링이 하는지 URL자체가 변하는 효과를 볼수 있다.
[MultiSelect / ItemSelector] [데모보기] 이 기능은 사용자 확장기능에 올라왔던 기능인데 이번 릴리즈에 포함되었있다. 전통적인 방식의 <select multiple> 기능을 extjs로 구현한 것이다.
[FileUploadField][데모보기] 사용자 확장기능에서 가장 많이 찾던 swfFileUpload에서 차용한듯한 소스가 이번 릴리즈에 포함되어 있다. ajax fileupload를 찾는 국내 사용자에게는 상당히 유용한 컴포넌트가 될듯하다. Form 컴포넌트에 포함되어 있다.
var fibasic = new Ext.form.FileUploadField({ renderTo: 'fi-basic', width: 400 });
[XmlTreeLoader] [데모보기] 사용자 확장기능이다. 이전 treeLoader와 사용법은 비슷하다.