2014-11-26 5 views
0

프레임에서 페이지 (html + javascript)를 디버깅하려고 Firefox 개발자 버전을 사용하고 있습니다. Firefox 33에서는 디버거 섹션에서 프레임 안의 페이지 소스 코드를 볼 수 있고 중단 점을 활성화 할 수 있습니다 ...디버거가 프레임 html 소스를 표시하지 않습니다.

개발자 버전의 문제점은 페이지의 html 코드가 표시되지 않는다는 것입니다. 도구 모음의 왼쪽에 선택되어 있지만. 그것은 일부 HTML 코드를 보여 주지만, 그것은 선택된 페이지가 아닙니다. 어디에서 왔는지 찾을 수 없습니다.

파이어 폭스 33 및 개발자 에디션 용 디버거에서 동일한 동작을 수행 할 수있는 방법이 있습니까? 사전에

감사합니다, 감사합니다

+1

프레임 전환 도구를 사용하도록 설정 했습니까? 이 작업은 [여기] (http://note.io/1vQBzHe)이며 [여기에서 액세스 할 수 있습니다] (http://note.io/1zxkiRn). 이것은 새로운 기능입니다. – canuckistani

+0

감사합니다 canuckistani. 프레임 전환 도구는 비활성화되었지만 동작을 변경하지는 않습니다. 항상 인스펙터 탭에서 올바른 HTML 소스를 볼 수 있지만 디버거 탭에서는 볼 수 없습니다. Inspector에서 일부 javscript 코드를 선택하고 "show in debugger"를 선택하면 디버거 탭으로 점프하지만 html 코드는 완전히 다릅니다. 웹 서버에서 로그를 확인했으며 다른 웹 페이지는 파이어 폭스에서 요청하지 않았습니다. – jlgetxo

+0

더 많은 테스트 : 프레임 전환 도구를 사용하는 경우 인스펙터 탭의 다른 프레임 (iframe이 아닌 프레임)의 페이지를 선택합니다. 올바른 html 소스를 볼 수 있지만 디버거 탭에서 일부 페이지에는 html이 없습니다. "이 페이지에는 소스가 없습니다."라는 메시지가 표시됩니다. 내가 관심있는 페이지는 항상 잘못된 HTML 소스를 보여줍니다. – jlgetxo

답변

0

이 GC가 당신에게

짧은 대답, 프레임의 HTML을한다 쓰레기가 떨어져 브라우저 엔진에 의해 수집 된 것입니다. 이것은 페이지/html이 아직 활동이 남아있는 스크립트가 없다면 발생합니다.

페이지의 모든 개체에 대한 강력한 참조를 유지하고 브라우저에서 해당 개체가 여전히 사용되고 있다고 생각하는 곳에 배치하면 다른 방법으로이를 방지 할 수 있습니다. 예를 들어

,

window.foobar = some_object_from_the_page 

가 작동합니다.

가까운 장래에 root causepotential & partial fix이 등장합니다.

+0

감사 최적화 도구. 디버거 창 왼쪽에있는 페이지 목록을 사용하여 페이지를 선택하면 강력한 참조를 유지하면 문제가 해결됩니다. 그러나 프레임 스위처 도구를 사용할 때 문제 (이 페이지는 소스가 없음)가 계속 유지됩니다. – jlgetxo

+0

@jlgetxo 그럼, 실제 픽스를 위해 플랫폼 픽스를 기다려야합니다. 추신 : 나는 어떤 업적을 목표로하고 있으니, 아직이 답변을 upvote하지 마세요 :) – Optimizer