2013-05-22 5 views
-2

저는 현재 위젯 용 자바 스크립트의 큰 블록에 크게 의존하는 웹 사이트를 개발 중입니다. 이들 중 일부는 타이머 또는 시계 실행과 같은 까다로운 프로세스이므로 해당 스크립트가 활성화 될 때만 해당 스크립트를 활성화 할 수 있습니다. 내 제안 된 솔루션은 스크립트의 각 블록을 주석 처리하고 위젯이 활성화되어있을 때 주석을 제거하는 것입니다.명령을 통해 JavaScript 주석을 제거 하시겠습니까?

예를 들어 카운트 다운 타이머 위젯이있는 경우 사용자가 위젯을 클릭 할 때까지 위젯에 대한 코드를 완전히 주석 처리하고 싶습니다. 사용자가 위젯을 열면 해당 스크립트가 "주석 처리되지 않음"으로 실행되도록하고 싶습니다.

프로그래밍 방식으로 자바 스크립트 코드에 주석 기호를 추가하거나 제거 할 수있는 방법이 있습니까? 내가 사용할 수있는 방법이나 명령을 찾고있다. 내가 물리적으로 코드를 변경해야하는 것은 아닙니다.

Google I/O 컨퍼런스 프리젠 테이션에서이 사실을 알았습니다. 그 방법을 알고 있는지 궁금합니다.

+1

이렇게하는 것이 더 좋은 방법 일 것입니다. (더하기 불가능) – SomeShinyObject

+0

질문에 대한 직접적인 대답은 무엇입니까? 아니요, 자바 스크립트를 사용하여 자바 스크립트 소스 코드를 수정할 수 없습니다. –

+0

나는 완전히 알고있다. 실제로 Google I/O 컨퍼런스를 보았습니다. 그들은 분명히 GMail 작성 버튼에 이것을 사용합니다. 그래서 가능하면 누구나 알 수 있는지 궁금합니다. –

답변

4

더 좋은 방법이 있습니다. 이벤트 루프 막힘이 걱정되는 경우 : 위젯이 이벤트 루프에 액세스하지 못하도록해야하지만 프레임 워크를 통해 이동해야합니다. 이렇게하면 위젯을 '잠'수 있으며 모든 이벤트가 중지됩니다.

위젯을 제거하면 예정된 이벤트를 정리하거나 '죽은'코드로 실행해야한다는 점도 명심하십시오. 모든 이벤트는 프레임 워크를 통해 스케줄되어야하므로 위젯이 언로드 된 경우 정리할 수 있습니다.


코드가 읽히고 JavaScript 엔진에로드되면 코드를 수정하면 아무 것도 수행되지 않습니다.

+0

이것이 성능 문제를 다루는 가장 좋은 방법은 아니지만이 경우 소스 코드의 주석을 변경할 수 있는지 궁금합니다. 그래도 고마워! –

관련 문제