2010-07-15 6 views
1

나는 일부 자바 스크립트를 적용 내 Google 캘린더 페이지 (http://www.google.com/calendar/renderOnline)와 북마크를 여는 북마크 있습니다페이지를로드하고 하나의 즐겨 찾기에 자바 스크립트를 적용

자바 스크립트 : document.getElementById를 ('gadgetcell를' .setAttribute ('style', 'width : 300px'); document.getElementsByClassName ('sn-frame') [0] .setAttribute ('style', 'width : 300px');

두 번 클릭 할 필요가 없도록 이들을 하나의 북마클릿에 결합하는 방법이 있습니까?

감사합니다.

답변

0

확장 프로그램을 사용하여 동일한 동작을 얻을 수 있습니다.

예를 들어 Safari에서 URL을 시작하는 버튼과 북마크릿을 실행하는 주입 스크립트를 만듭니다. GreaseMonkey와 다른 많은 확장 프레임 워크는 비슷한 일을 할 수 있습니다.

1

아니요. 북마크릿은 원본 페이지의 컨텍스트에서 실행되므로 페이지를 변경하고 계속 실행할 수 없습니다. 항상 페이지에서 해당 코드를 실행하려는 경우 GreaseMonkey이 도움이 될 수 있습니다. 또는 Stylish을 사용하면 페이지에 사용자 스타일을 적용 할 수 있습니다.

0

나는이 작업을 수행 할 수있는 북마크를 사용하는 생각을했다 :

javascript:location.href='http://google.com';setTimeout(function(){alert('hi');},2000); 

의 setTimeout 기능은 무엇이든 될 수 있고, 때문에 2 초 타이머, 시간이있을 것입니다 페이지를로드하고 임의의 코드는 것 그것에 대항하여 실행하라. 그러나 그것은 효과가 없었습니다. 어떤 함수를 사용하든 setTimeout을 호출하려고 시도하는 것처럼 보이지 않습니다. 실행되지 않습니다. 그렇지 않으면 새로운 페이지가로드 될 때 또는 그와 비슷한 것으로 파괴되는 다른 공간에서 실행됩니다. 그 setTimeout 코드는 location.href 변경이없는 한 책갈피 렛으로 잘 작동합니다.

그러나 더 나은 접근 방법이 현재 공간에 원하는 페이지의 AJAX로드를 수행 한 다음 무언가를 실행하려고하는 것이 아닌지 궁금합니다. 만약 내가 그걸 시험해보기로하면 여기에서 업데이트 할 것이다.

관련 문제