문제

이렇게 할 수 없는 이유는 보안상의 큰 허점이 있을 수 있기 때문이라고 생각하지만, 이렇습니다...

내 브라우저(바람직하게는 FF3)에 자바스크립트 코드의 일부인 북마크를 갖고 싶습니다.단지 현재 날짜를 기준으로 URL을 구성한 다음 해당 URL에서 window.location =을 수행합니다.

페이지를 만들어 로컬 컴퓨터에 보관하고 그런 식으로 참조할 수 있다는 것을 알고 있지만 해당 단계를 건너뛰고 실제로 북마크의 "위치"를 실제로 자바스크립트로 설정할 수 있는지 궁금합니다.몇 년 전에는 이것이 가능하다고 맹세할 수 있었지만 지금은 어느 쪽이든 말해 주는 어떤 것도 찾을 수 없습니다.

도움이 되었습니까?

해결책

당신이 원하는 것은 북마크릿 생성하기 쉽고 대부분의 주요 브라우저에서 작동합니다.

편집하다:스택 오버플로가 사이트 컨텍스트에서 북마크릿 생성을 허용하지 않는 것 같습니다. 기본적으로 새 북마크를 생성하고 위치 필드에 다음을 입력할 수 있습니다.

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

Google에서 현재 날짜를 검색하는 북마크를 얻으려면

다른 팁

함수 래퍼에도 넣을 수 있다는 점은 주목할 만합니다.imranamajeed가 우리에게 그 점을 훌륭하게 설명했습니다...하지만 분명히 나는 ​​그의 게시물을 올리기에는 사이트에 너무 새로운 것 같습니다.:피

명확성을 위해:

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

(캐리지 리턴은 크롬과 IE의 성능에 영향을 미치지 않았습니다)

사소한 문제 하나. 만 처리할 수 있습니다 508 이 형식의 문자 URL입니다.이보다 긴 URL을 사용하여 IE에 저장하면 경고 없이 잘려서 실패합니다.

매우 복잡한 스크립트가 필요한 경우 페이지에 스크립트 태그를 삽입하는 짧은 북마크가 있는 "호스팅된" 북마크를 사용하여 호스팅된 북마크를 "호출"해야 합니다.

그것은 멋지거나 휴대하기 쉽지는 않지만 유일한 해결 방법입니다.

구글 북마크

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)})();

방금 FF3에서 북마크를 생성하고 다시 업데이트한 후 다음 테스트를 추가했습니다.

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

로우, 보라, 저장하고 로드한 후 알림을 받을 수 있었습니다.

나는 당신이 당신의 요구에 비슷한 것을 만들 수 있다고 확신합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top