2017-12-27 43 views
0

SPA와 같은 일부 페이지를 방문하면 코드에 따라 window에 일부 객체가 추가된다는 것을 알고 있습니다.현재 페이지 코드로 창에 추가 된 개체를 확인하는 방법은 무엇입니까?

네이티브 브라우저 개체/메소드가 무엇인지 알고 앱에서 추가 된 방법이 있습니까?

+0

또는 https의 중복 : // stackoverflow.com/questions/17276206/list-all-js-global-variables-used-by-site-not-all-defined? – xadhix

답변

0

window 변수를 호출하면 기본적으로 그 내부의 모든 내용에 대한 개요가 제공됩니다. 알려진 새로운 기능은 윈도우 객체에 추가 된 경우 알려진에

Object.keys(window).length; //or just Object.keys for the names 

그들이 어디에 전에 키의 수를 필요 : 난 당신이 현재 당신이 뭔가를 할 수 포함 얼마나 많은 기능을 알고 싶다면 것 같아요 포함 또는 단지 정적 번호를 알고 있습니다. 예를 들면. 여기 stackoverflow 창 개체 246 키만 포함되어 있습니다. 그러나 Google과 같은 무언가에 나는 1597 개의 열쇠를 세었다. 따라서 실제로 사용하는 앱에 따라 다릅니다.

그래서 키의 양이 증가했는지 그리고 키를 꺼내서 함수 내부의 배열로 옮기는 지 확인하는 함수를 작성하면됩니다.

귀하의 질문에서 얻은 것입니다.

0

당신이 돌연변이 관찰자를 찾고 있다고 생각합니다. 그들과 함께 새로 추가되거나 제거 된 DOM 요소를들을 수 있습니다. 나는 또한 당신이 속성과 텍스트 변경에 대한 통보를 받았다고 믿는다.

여기에 대한 간단한 기사 링크가 있습니다. Mutation Observers

희망이 있습니다.

0

두 개의 탭이 있다고 가정 해 보겠습니다. 하나는 창에 아무 것도 추가하지 않는데 (찾기가 쉽지 않음), 몇 가지 속성을 추가 한 것.

모두 열려 있습니다. a = Object.keys(window); JSON.stringify(a);

사본 결과를 창에 일부 속성을 추가 한 탭이 ​​이동 : 새로 하나

는 않습니다. 그리고 마지막 a = JSON.parse(<Ctrl + v>)b = Object.keys(window)

및 작업을 수행합니다 c = b.filter(p=>a.indexOf(p)=== -1)

지금 c가 탭으로 window 객체에 추가 된 모든 속성의 이름을 포함;

HOT TIP : 파이어 폭스 개발자 버전 않습니다 기본적으로 : a screenshot of how it works 주의의 기본 속성은 다른 속성에 분리 window 그 (라고 [default properties])

관련