첫 번째 문제를 먼저 처리합시다. 1. 기사 아래 에서이 함수에서 권장되는 함수 소스 코드를 확인하십시오.
실제로는 매우 간단합니다. 돋보기를 클릭하여 권장 사항을 선택하십시오.
이 VotePost (CB_ENTRYID, 'DIGG')는 권장 버튼에서 호출 된 기능입니다. 매우 간단하지 않습니까?
두 번째 문제는 함수가있는 파일 위치를 찾는 것입니다.
사실, 그것은 또한 매우 간단합니다. 물론 콘솔에 익숙하지 않은 친구들은 그것을 읽는 방법을 모를 수도 있습니다.
콘솔에 VotePost를 입력하고 Enter를 누릅니다.
함수 소스 코드가 대략 표시되며 블로그-common.js 링크가 있습니다.
후속 v = we8o1xrgctu07qvwyqerqd7aa8fdjp_dgoe-crat3k1은 직접 무시됩니다.
추신 : 이것이 무엇인지 알고 싶다면 실제로 버전 번호입니다. 그것이하는 일에 관해서는, 그것은 종종 캐싱을 방지하는 것입니다. 자세한 내용은 온라인으로 검색하십시오.
Blog-Common.js : 1은 거의 이것을 의미합니다. .
Blog-common.js는이 기능이있는 JS 파일입니다.
1은 코드가있는 줄 번호입니다.
이 링크를 직접 클릭하여 소스 패널로 이동하십시오. 이것은 디버깅의 가장 중요한 기능인 소스 패널이며 나중에 천천히 소개됩니다.
그러나 모든 코드는 한 줄에 있습니다. 어떻게 우리는 그것을 보나요? 4946자는 모두 한 줄에서 줄어 듭니다. .
Chrome은 코드 서식 기능을 제공합니다. 아래의 예쁜 인쇄 버튼을 클릭하여 코드를 형식화하십시오.
서식이 완료되면 매우 아름답습니다. 당신이 그것을 이해할 수 있는지 여부에 관해서는 또 다른 문제입니다.
어떤 사람들은 그것을 이해할 수 없습니다. 어쩌면 jQuery.min.js 파일과 같은 UglifyJS, Google의 폐쇄 등과 같은 도구에 의해 코드가 컴파일되었을 수 있습니다.
또한 레벨이 너무 낮아서 당분간 마스터가 작성한 코드를 이해할 수 없으므로 아무것도 할 수 없습니다. 힘을 향상시키기 위해 열심히 노력할 수 있습니다.
서식이 충분하다면 걱정하지 마십시오. 내가 여기 있다면 왜 공황 상태입니까?
지금 막 콘솔 패널로 돌아갑니다.
Blog-Common.js? v = we8o1xrgctu07qvvwyqerqd7aa8fdjp_dgoe-crat3k1 : 91을 알게되어 기쁩니다
줄 번호는 91이되었습니다. 이제이 링크를 클릭하면 해당 형식의 위치로 이동할 수 있습니다. 매우 편리하지 않습니까? .
마지막 질문은 기능을 무효화하기 위해 함수를 수정하는 것입니다. 이것은 지금 당장보다 훨씬 간단하고 훨씬 간단하지만 많은 사람들이 그것을 운영 할 수 없으므로 특별히 그것을 꺼내서 그것에 대해 이야기했습니다.
우선, 우리는이 기능을 호출하는 것이 권장되는 기능이 VotePost (cb_entryid, 'digg')임을 알고 있으며, 직접 작성되어 html에 onclick에 묶여 있습니다.
이 기능은 어디에서나 호출 할 수있는 전역 기능이므로 이것이 무엇을 의미합니까?
그것은 우리가 그것을 수정할 수 있고, 글로벌 변수와 같으며, 어디서나 수정할 수 있습니다. 그런 다음 글로벌 기능이 정확해야합니다.
따라서 빈 기능으로 수정할 수 있습니다.
VotePost = function () {}; 또는 VotePost = $ .noop; $ .noop은 jQuery가 제공하는 빈 함수입니다.
이제 VotePost는 빈 기능이므로 권장 버튼을 클릭하면 아무 일도 일어나지 않습니다.
물론 페이지를 새로 고침 후 다시 시행됩니다. 우리는 단지 페이지에서 디버깅하고 수정합니다. 블로그 파크의 소스 코드를 변경하지 않고 영구적으로 발효하는 것은 불가능합니다.
따라서 디버깅은 오류를 찾고 제거하는 과정을 의미합니다. 오류 소스가 위치한 경우 수정 한 다음 테스트하십시오. 잘못된 경우 새로 고치고 다시 수정하므로 실제 파일을 수정할 필요가 없으므로 복귀 할 수 없습니다.
오늘날의 콘텐츠는 거의 모든 것입니다. 실제로 jQuery가 인기가 있기 때문에 디버깅 할 직접적인 글로벌 기능은 거의 없으며 Click 및 On Make 소스 코드 포지셔닝과 같은 다양한 이벤트 바인딩이 매우 복잡합니다.
다행스럽게도 나는 이전에 기사를 썼고이 문제를 더 자세히 분석했습니다. 자세한 내용은 "jQuery 이벤트의 소스 코드 포지셔닝 문제에 대한 간단한 토론"을 참조하십시오.
다른 프레임 워크에 익숙하지 않으므로 분석하지 않았지만 아이디어는 실제로 비슷하며 이벤트 관리 메커니즘이 있어야합니다.
오늘은 많은 지식이 없지만 직접 통합해야합니다. 그렇지 않으면 몇 초 만에 잊어 버릴 것입니다.
수업 후 연습 :
1. 투표 로스트 함수가 권장되는 기능을 어떻게 구현하는지 분석하십시오.
2. 투표 기지의 동적 디버깅 및 분석. (중단 점 지식 결합)
내일 중단 점과 동적 디버깅에 대해 이야기하겠습니다. 적절한 질문을 찾지 못했기 때문에 먼저 할게요. 동적 디버깅이 필요한 적합한 것이 있으면 답장하십시오. .