북마크렛

Bookmarklet
A Firefox browser with a dialog reading "There are about 2502 words on this page."
페이지의 단어 수를 세는 북마크릿 시연입니다.표시된 브라우저는 Windows 10에서 실행되고 있는 Firefox 65.0.2입니다.

북마클릿브라우저에 새로운 기능을 추가하는 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) : '')).초점(); })(); 

레퍼런스

  1. ^ Jonathan Avila (2014-03-02). "How to create a favlet for accessibility testing".
  2. ^ 도메인 bookmarklets.com Wayback Machine에서 2009-07-07 아카이브 완료1998년 4월 9일
  3. ^ "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.
  4. ^ Willison, Simon (April 10, 2004). "Email from Brendan Eich". SitePoint. Retrieved September 26, 2014.
  5. ^ "Bug 866522 - Bookmarklets affected by CSP".
  6. ^ "Bookmarklets are Dead". 23 October 2014.
  7. ^ "The Slow Death of Bookmarklets". 16 November 2012.
  8. ^ "The Resurrection of Bookmarklets".
  9. ^ Ruderman, Jesse. "Bookmarklets for Zapping Annoyances". Jesse's Bookmarklets Site. Retrieved 29 March 2013.
  10. ^ "YouTube Video Speed Bookmarklets". sgeos.github.io. 2017-10-29.
  11. ^ Kant, Kushal (23 August 2017). "How to Use Parameters in HTML5 Video Tags/Attributes". findnerd.
  12. ^ "HTML video Tag". www.w3schools.com.
  13. ^ Mozilla Firefox, Opera, Safari 및 Chrome에서 테스트.IE7 또는 IE8에서는 동작하지 않습니다.원본 소스:알렉스 볼드

외부 링크