2017-10-03 4 views
1

나는 몇 가지 기능이 필요한 북마크릿을 만들고 있습니다. 개별적으로 다음과 같이 호출하여 필요한 함수를 정의 할 수 있습니다.자바 스크립트 북마크 릿에서 여러 전역 함수 정의하기

javascript:void(window.test1=function(){alert('hi');}); 

그러나 두 번째 함수를 추가하려고하면 바로 작동이 중지됩니다.

실행하면 콘솔에서 "예기치 않은 식별자"오류가 발생합니다. I 세미콜론, 공백 및 캐리지 리턴 두 함수 선언 분리 시도 (후자의 2 개의 육각형 부호화 %, 20 %의 0A로), 따라서간에 삽입 :

javascript:void(window.test1=function(){alert('hi');};window.test2=function(){alert('bye');}); 

이되지 않는다 어느 쪽이든 일하십시오; 오류 메시지 "예기치 않은 토큰"을 생성합니다.

책갈피 릿의 컨텍스트에서 두 함수를 연속적으로 정의하는 방법은 무엇입니까?

답변

2

모든 내부 함수를 1 함수로 래핑하고 내부 함수의 필요한 모든 함수를 window 개체의 속성/메서드로 정의하십시오. 따라서

:

javascript:void(function(){window.test1=function(){alert('hi');};window.test2=function(){alert('bye');}}()); 
+0

멋지게 일이, 감사합니다. 미래의 방문자가 완성 된 예제를 갖도록 작업 코드를 넣으려는 답을 편집 할 것입니다. –

관련 문제