2008-08-12 12 views
41

에만 자바 스크립트 URL이 아니라지만 간다 즐겨 찾기 추가 내 브라우저 (FF3, 가급적이면)에 자바 스크립트 코드의 스 니펫 (snippet) 인 북마크가 있어야합니다. 현재 날짜를 기반으로 URL을 생성 한 다음 해당 URL에서 window.location =을 수행합니다.</p> <p>내가 원하는 ... 나는 이유는 나는 그것이 거대한 보안 구멍이 될 수 있기 때문이다 할 수없는 것을 생각하고

페이지를 만들어 로컬 컴퓨터에 보관하고 그 방법으로 참조 할 수 있음을 알고 있지만이 단계를 무시하고 실제로 북마크의 "위치"를 가질 수 있는지 궁금한 점이 있습니다. 자바 스크립트. 나는 이것이 수 년 전에 가능하다고 맹세 할 수 있었지만 지금 어느 방향 으로든 알려주는 것을 찾을 수는 없다.

답변

54

원하는 것은 bookmarklet이며 쉽게 만들 수 있으며 대부분의 주요 브라우저에서 작동해야합니다.

편집 : 스택 오버플로가 기본적으로 당신이 구글을 검색하는 북마크를 얻을 수있는 새로운 북마크를 생성하고

javascript:window.location='http://www.google.com/search?q='+Date()

위치 필드에 다음을 입력 할 수 있습니다, 사이트의 맥락에서 북마크를 만들 수 있도록하지 보인다 현재 날짜.

8

글쎄, 난 그냥, FF3에 책갈피를 만들어 다시 가서 그것을 업데이트하고 다음 시험 추가 : 내가 저장 및로드

javascript:alert('Wacky%20test%20yo'); 

낮은 보라를 한 후, 내 경고를 얻을 수 있었다.

나는 당신이 필요로하는 것과 유사한 것을 연구 할 수있을 것이라고 확신한다.

11

하나의 작은 잡기. IE은 문자 URL 만 처리 할 수 ​​있습니다. IE보다 긴 url로 저장하면 경고없이 잘라내어 실패합니다.

정말 복잡한 스크립트가 필요한 경우 호스팅 된 북마크릿을 사용하여 페이지에 스크립트 태그를 삽입 한 짧은 북마크가 있어야만 호스팅 북마크릿을 호출 할 수 있습니다.

이식성이 좋지 않지만 유일한 해결책입니다.

+5

그래서 이것에 대한 패턴은 같은 : 자바 스크립트 : (함수() { document.body.appendChild (document.createElement ('script')) .src = 'http : //www.yoursite.com/js/bookmarklet.js';})(); – Shermozle

+0

이 맞습니다. 다른 사이트에서 원하는 스크립트 컨텐츠를로드하기 만하면됩니다. – scunliffe

9

Google 책갈피

javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location)+"&title="+c(b.title),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})(); 
19

당신이뿐만 아니라 기능 래퍼에 그 넣을 수 있음을 주목할 가치가있다. imranamajeed는 멋지게 우리를 위해 그것을 설명했다. .. 명백하게 나는 그의 지위를 올리기 위해 사이트에 너무나 새로운 사람이다. : P 명확성을 위해 너무

:

javascript:(function(){ 
    location.href = location.href + "#"; 
})(); 

이 (캐리지 리턴 크롬의 성능에 영향을 IE하지 않았다는)

+0

예, 함수에 래핑하면 반환 값이 현재 창을 엉망으로 만드는 것을 방지합니다. – mb21