인라인 자바 스크립트 리디렉션 ( window.location = "/anotherpage"
) 이있는 페이지를보고 있습니다. Chrome에서 페이지를로드하고 싶지만 리디렉션 라인을 비활성화하여 리디렉션되지 않고 페이지를 사용할 수 있습니다.
내가 시도한 것은 다음과 같습니다.
-
개발자 도구-> Cog-> 일반-> JavaScript 비활성화. 페이지를로드하십시오. 리디렉션하지 않습니다 (예!). 하지만 여전히 페이지의 나머지 자바 스크립트가 실행되기를 원하지만 실행되지 않았습니다.
-
URL을 입력 한 다음 개발자 도구-> 소스-> 일시 중지 (F8)를 클릭하십시오. 아직 리디렉션되지 않았습니다 (예!) 이제 일시 중지를 해제하기 전에 리디렉션 라인을 비활성화하고 싶지만 해당 부분은 아직 개발자 도구에로드되지 않았습니다. 그래서 거기에 도착할 때까지 다른 파일 자바 스크립트 코드를 단계별로 시작할 것입니다 ?? 그러나 다른 파일 자바 스크립트에서 나가 자마자 즉시 리디렉션됩니다 (doh!).
할 수 있습니까? 자바 스크립트 한 줄을 비활성화하는 것이 쉬울 것이라고 생각했지만 난처했습니다.
답변
개발자 도구-> 소스-> 이벤트 리스너 중단 점 (오른쪽 사이드 바)->로드-> 언로드 확인
이렇게하면 탐색 전에 전달되는 언로드 이벤트에서 디버거가 중단됩니다.
답변
답변
페이지를 다시로드하는 데 잘못된 조건이있는 타사 JS 라이브러리가 있습니다. 이 때문에 페이지가 지속적으로 다시로드되었습니다. 잘못된 코드가 어디에 있는지 찾으려고했습니다.
“Event Listener Breakpoints”방법을 사용하려고했지만 언로드 이벤트에 스택 추적이 없다고 언급했듯이 꽤 쓸모가 없습니다.
솔루션 나를 위해 일했다 : 나는 샌드 박스 속성, 예를 들어이있는 iframe 태그가있는 페이지를 만들어 <iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>
그 안에 내 사이트를 넣어. 이렇게하면 크롬 내부에서 보안 오류가 발생하고 콘솔은 JS가 위치 객체에 액세스하려는 위치를 보여줍니다. 그것을 클릭하고 코드를 볼 수 있습니다. 가장 좋은 점은 Chrome에 JS 압축 해제 기 (소스 창의 왼쪽 하단에있는 {} 버튼)가 있다는 것입니다. 이것은 영리하며 예쁜 인쇄 후에도 줄을 표시 할 수 있으므로 압축 된 JS에서도 볼 수 있습니다.
샌드 박스 속성에 대한 추가 정보 : https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox