일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 추천
- Pink
- 일상
- 아이러브니키
- 잡담
- 후기
- Monument Valley
- 시사회
- 강추
- 모뉴먼트 밸리
- 아이폰
- 레고
- Monument
- php
- 감상
- 영화
- jQuery
- great forest
- JavaScript
- 핑크
- 게임
- 모뉴먼트
- 가사
- 카이로소프트
- 맛집
- 유료
- 아이폰게임
- 공략
- goblin sword
- 아이패드
- Today
- Total
목록JavaScript (15)
잡담소장소
target='_blank'도 있지만 download 속성만 붙여주면 무시해준다! * IE에서는 안됨 https://stackoverflow.com/questions/2452110/download-binary-without-triggering-onbeforeunload Download binary without triggering onbeforeunload I want to kick off a file download for a user when he clicks a link, but I have an onbeforeunload handler that I don't want to get invoked when the download begins. To downloads, I currently have a..
예전만해도 크롬에서 alert 메세지 복사가 문제 없이 됐었는데 얼마 전에 시도하니 ctrl+c가 전혀 먹히지 않았다. (일전에 크롬 업데이트 이후 some bug들이 있었던 것 같긴한데..) 뭐, 아무튼 열심히 구글링을 해보니 메세지에 더블클릭해서 선택 후 클립보드로 복사하라는 이야기가 많았다. 근데 나는 아무리 해도 안됐단 말이지.. 해서.. 알아보니.. 일반적인 텍스트로 메세지를 보낼 때는 문제없이 메세지 선택+클립보드 복사가 가능하지만 스크립트 내에서 문자열 조합을 하게 되면 복사가 안된다. 해결은 좀 구리지만 window.prompt로 하였다. var tmp = "123"; var msg = "문자열조합"+tmp; window.prompt("메세지를 복사해주세요", msg); 이런식으루 복사하고..
하.. 이걸 처리하려고 얼마나 삽질했던가.. 크롬이 업데이트 되면서 404 이미지들에 대해 엑박노출을 하지 않게 되었다. 이미지에 삭제 버튼을 올려놓았는데 이미지가 노출이 안되니 버튼도 노출이 안되서 매번 개발자가 손수 처리해줘야 하는 상황이 되었기에 404 이미지에 대해서는 빈 이미지를 올려주어 버튼이 노출되도록 하고자 시작하였다. 처음에 처리했던 코드는 아래와 같다 $(function(){ $("img").on("error", function(){ var uri = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; //blank image code $(this).attr('src', uri); }); }); er..
작업 중 제일 귀찮은게 실시간으로 체크해줘야 하는거.. 붙여넣기 방법으로 접근할 경우를 대비하여글자를 입력받을 때바다 for문을 돌리도록 했다 function chk_char_length( obj, keyCode, limit ){ //tab, backspace, delete, var str = obj.val(); var arrKeys = [8, 9, 37, 38, 39, 40, 46]; if( arrKeys.in_array(keyCode) ){ return true; } var cnt = 0; var isLimit = false; var tmp = ''; for( var i=0; i 128 ) ? 2:1; tmp += s..
1. Object의 key 갯수 구하기 var length = Object.keys( obj ).length; 2. Object간의 key 비교하기 (차집합) var objSubset = $( obj1 ).not(Object.keys( obj2 )).get(); 3. Object에 key/value 쌍을 넣을 때 var strKey = "key1"; obj[strKey] = value; //{ "key1": value } obj.strKey = value; //{"strKey":value } 4. Array에 랜덤엑세스를 통해 값을 넣을 때 -> for문을 돌려서 ajax 값을 가져올 때 async:false를 넣지 않는 경우같은 var arrList = ["1",,,,"3"]; console.log(a..
결과적으론 실패(한글 인코딩이 안되서)하였지만 기억해둘겸 남기는 글이다 ㅠㅠ 1. template 에다가 데이터 맵핑해서 다운로드 하는 방법stackoverflow(링크참조)에서 찾은 방법인데 가장 깔끔하고 한글도 나왔으나엑셀 타이틀은 어떻게 변경하는지 찾아보진 않았다. 한참 자료 뒤지다가 해당 xml데이터들에 대한 값은 찾은 것같으나 문제는 기존에 사용하고 있는 PHPExcel에서 에러가 나는 바람에 - 엑셀이 아닌데 엑셀인척한다고 에러 뱉어냄 ㅠ해당 방법은 버려지게 된당 ㅠ_ㅠ 힝 나중에 파일만 다운받을 경우에는 써도 괜찮겠다 싶은.. 2. json 데이터를 이용해서 엑셀 만들기구글링하다가 개인블로그(링크참조)에서 찾은 방법이다다 좋은데 한글 인코딩이 안된다. escape때문에 한글이 인코딩되어 나온..
바로 일전에 올린 이미지 미리보기와 연관되어 발생한 문제이다. 테스트는 chrome에서 이루어졌었는데 ie사용자도 고려해야하는 탓에 ie에서 테스트한 결과 뚜둔-_-이미지가 다 잘려서 나온다. 크롬에서는 this.width면 만사오케이였지만 IE에서는 this.width를 찾지 못하고 this.naturalWidth라는 값으로 넣어줘야했다. 이것도 9버전까지. 7,8버전은 naturalWidth라는 값도 없다! undefined!! ;ㅁ; 하는 수 없이 서버단에서 가져오기로 한다 ㅠㅠ 망할 IE. 뻑큐..ㅠㅠ 서버단에 함수를 만들고 public function getImgSize(){ $img_url = $this->post->img_url; $ret = getImageSize($img_url); if(..
뭐부터 적어야할까-_-;;신나게 삽질한 탓에 혼란스럽기만 하다 ㅠㅠ 일단 나의 목표는 ㅡ1. img 태그에 이미지를 로드한다2. 해당 이미지의 가로, 세로사이즈를 얻어낸다3. 해당 사이즈에 맞춰 fancybox를 띄운다.ㅡ 이었다. 로드 후에 작업을 하기 위해서 .load()를 사용하였는데 ㅡ 기본적으로 jQuery 사용내가 여기서 개념적으로 착각한 부분이.load()를 loading 이라고 생각해버린 것이다. ㅡ loaded인데 lllorz이게 첫번째 삽질이고 두번째 삽질은 .load() 안에서 img 태그에 올려진 이미지의 사이즈를 알기 위해서 $("#img").width()를 호출한 것이다. 이 부분은 아직도 모르겠지만 아무튼 그로 인해 load의 여부를 알기 위해서 구글링하고.width() 호출해..
html상에서 id값을 주면 document.location.hash를 이용해서 이동할 수 있다. document.location.hash = "#hash1"; 그런데 연속으로 호출하게 되면 화면이 이동하지 않는 현상이 보였다.그래서 jQuery에서 scrollTop을 이용하였다 $(document.body).scrollTop($("#hash1").offset().top); 참고로 scrollTo 라는 jQuery Plugin이 있다.
글자수 체크는 보통 서브밋하면 체크하는 형식이라서 불필요하게 지저분해 보였는데 구글링하다가 우연히 발견한 방법! String.prototype에 bytes라는 function을 추가하여 코드가 훨씬 깔끔해보였다. 나만 그런가 (..) var limit_length = 80; var msg_length = 0; //String에 bytes() 함수 만들기 String.prototype.bytes = function() { var msg = this; var cnt = 0; //한글이면 2, 아니면 1 count 증가 for( var i=0; i 128 ) ? 2 : 1; return cnt; } //textarea에서 키를 ..