북마크렛
Bookmarklet북마클릿은 브라우저에 새로운 기능을 추가하는 JavaScript 명령을 포함하는 웹 브라우저에 저장된 북마크입니다.웹 브라우저에 북마크 URL 또는 웹 페이지에 하이퍼링크로 저장됩니다.북마클릿은 보통 사용자가 클릭할 때 실행되는 JavaScript의 작은 조각입니다.북마클릿을 클릭하면 선택한 텍스트에서 검색 쿼리를 실행하거나 표에서 데이터를 추출하는 등 다양한 작업을 수행할 수 있습니다.
북마크렛의 또 다른 이름은 favelet 또는 favlet으로 즐겨찾기(북마크의 [1]동의어)에서 파생되었습니다.
역사
bookmarklets.com의 Steve Kangas는 Netscape의 JavaScript [3]가이드의 제안을 바탕으로 짧은 스크립트를 만들기 시작했을 때 bookmarklet이라는[2] 단어를 만들었다.그 전에 Tantek çç는 이러한 스크립트를 페이블렛이라고 부르며 2001년 9월 6일(개인[clarification needed] 이메일)에 이 단어를 사용했습니다.Netscape에서 JavaScript를 개발한 Brendan Eich는 북마크렛의 기원에 대해 다음과 같이 설명했다.
그런 의미에서 그것들은 의도적인 특징이었다.제가 발명한 것은
javascript:
1995년 JavaScript와 함께 다음과 같은 URL을 작성했습니다.javascript:
URL은 북마크 가능 등 다른 종류의 URL로 사용할 수 있습니다.특히 로드하여 새로운 문서를 생성할 수 있도록 하였습니다.javascript:'hello, world'
또한 (북마크렛의 키)는 현재 문서의 DOM에 대해 임의의 스크립트를 실행합니다.javascript:alert(document.links[0].href)
다른 점은 후자의 URL은 JS의 미정의 타입으로 평가되는 식을 사용한다는 것입니다.Netscape 2가 출하되기 전에 void 연산자를 JS에 추가하여 정의되지 않은 값을 쉽게 폐기할 수 있도록 했습니다.javascript:
URL 입니다.--
웹 사이트에서 CSP(Content Security Policy)의 구현이 증가함에 따라 북마크릿 실행 및 사용(2013-2015)[5]에 문제가 발생했으며, 일부에서는 북마크렛의 [6][7]종말 또는 종말에 영향을 미칠 수 있다는 의견도 있습니다.William Donnelly는 2015년 초에 Greasemonkey 사용자 스크립트(Firefox/Pale Moon 브라우저 애드온 확장)와 간단한 북마크렛 사용자 스크립트 통신 [8]프로토콜을 사용하여 이 문제에 대한 해결 방법(JavaScript 라이브러리 코드 로드, 참조 및 사용)을 만들었습니다.CSP를 사용하는 웹 사이트 및 https:// URI 방식을 사용하는 웹 사이트를 포함하여 모든 웹 사이트에서 (라이브러리 기반) 북마클릿을 실행할 수 있습니다.단, 브라우저가 CSP를 사용한 인라인스크립트 실행을 비활성화/허용하지 않도록 지원하는 경우 및 웹사이트가 이 기능을 구현하기 시작하면 이 "수정"이 "해당"됩니다.
개념.
웹 브라우저는 URI를 사용하여href
의 속성<a>
태그 및 북마크의 경우.다음과 같은 URI 스킴http:
,file:
, 또는ftp:
는 나머지 문자열의 프로토콜 및 형식을 지정합니다.브라우저는 프리픽스도 구현합니다.javascript:
다른 URI와 마찬가지로 파서에 대해서도 마찬가지입니다.내부적으로 브라우저는 지정된 프로토콜이 javascript임을 확인하고 문자열의 나머지 부분을 JavaScript 어플리케이션으로 처리하여 실행한 후 생성된 문자열을 새 페이지로 사용합니다.
실행 중인 스크립트는 현재 페이지에 액세스할 수 있으며, 이 페이지를 검사하고 변경할 수 있습니다.스크립트가 정의되지 않은 유형(예를 들어 문자열이 아닌)을 반환하는 경우 브라우저는 새 페이지를 로드하지 않고 스크립트는 현재 페이지 콘텐츠에 대해 실행됩니다.그러면 페이지 새로고침 없이 내부 글꼴 크기 및 색상 변경 등의 변경이 가능합니다.
값을 반환하지 않거나 함수를 정의하는 등의 어나니머스 함수를 사용하여 스크립트가 정의되지 않은 유형을 반환하도록 할 수 있습니다.
자바스크립트:(기능.(s){ //정의되지 않은 유형을 반환하는 문(예: 할당) })();
단, 스크립트에 다음과 같은 함수 정의/재정의가 포함되어 있는 경우function Use_this_globally(){...}
환경에는 데이터가 입력되지 않습니다.이 때문에,{arbitrary script}
로 감싸야 합니다.
자바스크립트:무효({자의적인 대본});
사용.

북마클릿은 저장되고 일반 북마크로 사용됩니다.따라서 브라우저에 기능을 추가하는 단순한 "원클릭" 도구입니다.예를 들어 다음과 같은 것이 있습니다.
- 브라우저 내 웹 페이지 모양 변경(글꼴 크기, 배경색 변경 등)
- 웹 페이지에서 데이터 추출(하이퍼링크, 이미지, 텍스트 등)
- 검색 결과(예: Google)에서 리다이렉트를 제거하여 실제 대상[9] URL을 표시합니다.
- 현재 페이지를 Posterous 등의 블로그 서비스, bit.ly 등의 링크 단축 서비스 또는 Delicious 등의 북마크 서비스에 제출합니다.
- 강조 표시된 텍스트 또는 대화 상자를 사용하여 검색 엔진 또는 온라인 백과사전 쿼리
- 현재 페이지를 링크 검증 서비스 또는 번역 서비스에 제출합니다.
- 페이지 자체에서 이 작업을 수행할 수 없는 경우 일반적으로 선택되는 구성 옵션 설정
- 속도, 위치, 전환 루프, 표시/숨김 재생 컨트롤 등의 HTML5 오디오 및 비디오 재생 파라미터를 제어합니다.첫 번째 파라미터는 HTML5 플레이어의 일반적인 범위 [10][11][12]설정 이상으로 조정할 수 있습니다.
인스톨
북마클릿의 「설치」는, 새로운 북마클릿을 작성해, 코드를 URL 행선지 필드에 붙여 넣는 것으로 행해집니다.또는 북마클릿이 링크로 표시되는 경우 일부 브라우저에서 북마클릿을 책갈피 줄에 끌어다 놓을 수 있습니다.그런 다음 북마크를 정상적으로 로드하여 북마클릿을 실행할 수 있습니다.
예
이 북마클릿 예에서는 웹 브라우저 창에서 강조 표시된 텍스트에 대해 Wikipedia 검색을 수행합니다.일반적으로 다음 JavaScript 코드가 브라우저[13] 북마크 도구 모음의 북마크에 설치됩니다.이후 텍스트를 선택한 후 북마클릿을 누르면 검색이 수행됩니다.
자바스크립트:(기능.(문서) { 기능. 인식하다(d) { 돌아가다 d.선택. ? d.선택..create Range(1).본문 : d.선택 항목 가져오기(1) } d = 인식하다(문서); 위해서 (i=0; i< >프레임.길이 & & (d==문서 d=='실패'); i++) d = 인식하다(프레임[i].문서); 한다면 (s d=='실패') d = 신속한('%20 검색%20 조건%20 for %20 입력'위키피디아',''); 열다.('https://en.wikipedia.org' + (s ? '/w/index.php?title=특수:검색 및 검색=' + encodeURIC 컴포넌트(s) : '')).초점(); })();
레퍼런스
- ^ Jonathan Avila (2014-03-02). "How to create a favlet for accessibility testing".
- ^ 도메인 bookmarklets.com Wayback Machine에서 2009-07-07 아카이브 완료1998년 4월 9일
- ^ "Activating JavaScript Commands From the Personal Toolbar". What's New in JavaScript 1.2. Netscape Communications Corporation. 1997. Archived from the original on 2002-06-11.
- ^ Willison, Simon (April 10, 2004). "Email from Brendan Eich". SitePoint. Retrieved September 26, 2014.
- ^ "Bug 866522 - Bookmarklets affected by CSP".
- ^ "Bookmarklets are Dead". 23 October 2014.
- ^ "The Slow Death of Bookmarklets". 16 November 2012.
- ^ "The Resurrection of Bookmarklets".
- ^ Ruderman, Jesse. "Bookmarklets for Zapping Annoyances". Jesse's Bookmarklets Site. Retrieved 29 March 2013.
- ^ "YouTube Video Speed Bookmarklets". sgeos.github.io. 2017-10-29.
- ^ Kant, Kushal (23 August 2017). "How to Use Parameters in HTML5 Video Tags/Attributes". findnerd.
- ^ "HTML video Tag". www.w3schools.com.
- ^ Mozilla Firefox, Opera, Safari 및 Chrome에서 테스트.IE7 또는 IE8에서는 동작하지 않습니다.원본 소스:알렉스 볼드
외부 링크
- Calishain, Tara (Feb 3, 2004). "Bookmarklets Boost Web Surfing". PC Magazine. Retrieved Aug 31, 2007.