Chrome에서 인라인 자바 스크립트 리디렉션 전에 자바 스크립트 중단
인라인 자바 스크립트 리디렉션 ( window.location = "/anotherpage"
) 이있는 페이지를보고 있습니다. Chrome에서 페이지를로드하고 싶지만 리디렉션 라인을 비활성화하여 리디렉션되지 않고 페이지를 사용할 수 있습니다.
내가 시도한 것은 다음과 같습니다.
개발자 도구-> Cog-> 일반-> JavaScript 비활성화. 페이지를로드하십시오. 리디렉션하지 않습니다 (예!). 하지만 여전히 페이지의 나머지 자바 스크립트가 실행되기를 원하지만 실행되지 않았습니다.
URL을 입력 한 다음 개발자 도구-> 소스-> 일시 중지 (F8)를 클릭하십시오. 아직 리디렉션되지 않았습니다 (예!) 이제 일시 중지를 해제하기 전에 리디렉션 라인을 비활성화하고 싶지만 해당 부분은 아직 개발자 도구에로드되지 않았습니다. 그래서 거기에 도착할 때까지 다른 파일 자바 스크립트 코드를 단계별로 시작할 것입니다 ?? 그러나 다른 파일 자바 스크립트에서 나가 자마자 즉시 리디렉션됩니다 (doh!).
할 수 있습니까? 자바 스크립트 한 줄을 비활성화하는 것이 쉬울 것이라고 생각했지만 난처했습니다.
개발자 도구-> 소스-> 이벤트 리스너 중단 점 (오른쪽 사이드 바)->로드-> 언로드 확인
이렇게하면 탐색 전에 전달되는 언로드 이벤트에서 디버거가 중단됩니다.
다음을 수행하십시오.
- 개발자 도구 열기
- 소스 탭으로 이동
- 이벤트 리스너 중단 점 찾기
- 로드 옵션 확장
- 여기에서 언로드 옵션을 확인하십시오.
페이지를 다시로드하는 데 잘못된 조건이있는 타사 JS 라이브러리가 있습니다. 이 때문에 페이지가 계속해서 다시로드되었습니다. 잘못된 코드가 어디에 있는지 찾으려고했습니다.
"Event Listener Breakpoints"방법을 사용하려고했지만 언로드 이벤트에 스택 추적이 없다고 언급했듯이 꽤 쓸모가 없습니다.
The solution which has worked for me: I created a page with an iframe tag with sandbox attribute, e.g. <iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>
and put my site in it. This way security errors will occur inside chrome and the console shows where the JS tries to access the location object. You can click on it and see the code. The best is Chrome has a JS decompressor (the {} button in the bottom left of the source window), which is clever, can show the line even after pretty printing, so you can see it even in compressed JS.
More info about sandbox property: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox
'programing tip' 카테고리의 다른 글
원격 ssh 명령에서 변수 전달 (0) | 2020.09.24 |
---|---|
SSRS 2008 R2-SSRS 2012-ReportViewer : Safari / Chrome 보고서는 있지만 Firefox / Internet Explorer 8에서는 제대로 작동합니다. 왜 그런가요? (0) | 2020.09.24 |
javax.persistence.Table.indexes () [Ljavax / persistence / Index의 NoSuchMethodError (0) | 2020.09.24 |
`npm install`을 실행하면`ERR! (0) | 2020.09.24 |
부울 값을 만드는 방법은 무엇입니까? (0) | 2020.09.24 |