북마크로 js코드 삽입하기

사용법

크로미움 기반의 브라우저에서는 url에 javascript:를 붙이면 js코드를 console로 실행하는 효과가 있다.

1
javascript:alert(1)

단, 보안상의 이유로 복사하여 붙여넣으면 javascript:부분만 사라지는데, 매번 새로 적어야 해서 번거롭기도 하고, 클립보드에 늘 저런 코드를 보관할 것도 아니므로, 북마크를 이용하도록 하자.

  1. 북마크바 표시로 변경

  2. 페이지 추가

  3. 작성 후 실행

아무 사이트에 접속

예제

#+복사 방지 제거=

1
javascript:(function f(d, dep){d.oncontextmenu=d.onselectstart=d.ondragstart=d.onkeydown=d.onmousedown=d.body.oncontextmenu=d.body.onselectstart=d.body.ondragstart=d.body.onkeydown=d.body.onmousedown=null;if(dep>10)return;for(i in d.frames){try{f(i.document, dep+1);}catch(e){}}})(document,0);

+#

#+한글 url 복사=

1
javascript:(du=document,(tl=du.createElement('textarea')).value=decodeURI(window.location.href).replace(/[^가-힣ㄱ-ㅎ]/g,(s)=>encodeURI(s)),du.body.appendChild(tl),tl.select(),du.execCommand("copy"),du.body.removeChild(tl))

보통 한글로 이뤄진 url을 주소창에서 그대로 복사하면

https://namu.wiki/w/%EB%AC%B8%EB%AA%85%206/%EC%9C%84%EC%9D%B8

이렇게 나온다.

이걸 실행하면

https://namu.wiki/w/문명%206/위인

로 깔끔하게 복사된다.

+#

#+Youtube 임베드 방식으로 열기=

1
javascript:location.href="https://www.youtube.com/embed/"+location.href.substring(location.href.indexOf("=")+1,location.href.indexOf("&")!=-1?location.href.indexOf("&"):undefined)

+#

#+플로팅 모드로 현재 창 열기=

1
javascript:window.open(window.location.href.includes('youtube')?"https://www.youtube.com/embed/"+location.href.substring(location.href.indexOf("=")+1,location.href.indexOf("&")!=-1?location.href.indexOf("&"):undefined):window.location.href,'','width=480,height=300,menubar=no,toolbar=no,location=no,personalbar=no,directories=0,resizable=yes,status=no,scrollbars=no,titlebar=no,left=0,top=0,scrollbars=no')

+#

#+동영상 스킵=

1
javascript:document.getElementsByTagName('video')[0].currentTime=document.getElementsByTagName('video')[0].duration

Youtube 광고 영상에도 잘 적용된다. 바로 본편으로 이동한다.

+#

#+클릭한 이미지 다운=

1
javascript:document.body.addEventListener('mousedown',function onmousedown(e) { let targ; e = e || window.event; if (e.target) targ=e.target; else if (e.srcElement) targ=e.srcElement; else return; if(targ.tagName == 'IMG'){ uri = targ['src'] || targ['data-src'];link = document.createElement("a"); link.href = uri; link.setAttribute('download', ''); document.body.appendChild(link); link.click(); link.remove(); document.body.removeEventListener('mousedown',mousedown)}})

여러번 실행하면 여러번 중첩된다. 웹페이지상에 클릭한 개발자 모드로 들어가서 이미지 url을 가져오는 게 귀찮아서 만들었다.

+#

#+사이트 깨기=

더 강력한 복사 방지 제거

1
javascript:if((iframe=document.body.getElementsByTagName("iframe")[0]) && iframe.id == 'mainFrame')window.location = iframe.src; newNode = document.createElement('p'); newNode.style.display = 'hidden'; newNode.id = "HelloContentCopy"; newNode.innerHTML = document.body.innerHTML; document.body.innerText = document.body.innerText; document.body.appendChild(newNode);document.body.innerHTML = newNode.innerHTML;

가끔 위의 복사 방지 제거도 먹질 않는(ex. 네이버)경우가 있어서 만들었다. 사이트가 깨진다.

+#

이처럼 다양한 코드를 유틸로 활용할 수 있다. 위 예시는 만들어뒀던 것 중 일부 발췌