2

나는 <input type="hidden">이 있습니다. 가치 변화가 언제인지 알아야합니다. 많은 JavaScript 파일에서 값을 변경했습니다.개체 값이 변경되면 웹 브라우저에서 디버거를 중지하십시오.

값이 변경되는 모든 곳으로 가서 debugger 문을 추가 할 수는 있지만 많은 시간이 걸립니다. 나는 Object.watch()에 대해 알았지 만, 이후에만 값을 변경했습니다. 을 참조하고 싶습니다. 일 때 이 아닌 코드가 변경되었습니다.

웹 브라우저에서 줄 번호와 JavaScript 파일 이름을 출력하거나 디버거를 중지하여이를 달성 할 수있는 방법이 있습니까?

+2

'Object.watch'는 맞춤 Firefox API입니다. Internet Explorer는 어쨌든 그것을 지원하지 않습니다. –

+0

숨겨진 요소는 일반적으로 양식의 제출 처리자에 값으로 채워집니다. 당신은 ".value ="에 대한 디버그 탭을 사용하여 검색하거나 DOM Explorer를 사용하여 값에 "= 숨겨진 값"속성이 있는지를 확인할 수 있습니다. –

답변

2

DOM 변경 중단 점이 등을 잡습니다.

  1. DevTools의 패널로 이동하십시오.
  2. HTML 창에서 요소를 찾습니다.
  3. 요소를 마우스 오른쪽 버튼으로 클릭합니다.
  4. 선택 휴식 시간>속성 수정. 당신이 너무 요소의 값에 대한 변경 사항을 확인해야하는 경우

, 다음 요소의 부모를 마우스 오른쪽 버튼으로 클릭하고 하위 트리 수정를 선택합니다.

1

다음 코드는 (개발 도구 또는보기)를 Cannot assign to read only property.. 당신이 잡을 수 있습니다 (스택 트레이스) 오류가 발생합니다 :

'use strict'; 
var o = {a: 29}; 
throwOnChange(o, 'a'); 

// as much code as you like here.. 

o.a++; // this will throw an error 

function throwOnChange(obj, prop) { 
    Object.defineProperty(obj, prop, { 
    value: obj[prop], 
    writable: false 
    }); 
} 

그냥 유사하여 input.value에 그것을 사용할 수 있습니다. 하지만

두 노트 : 그것이 작동하는

  1. 당신은 'use strict', 그렇지 않으면 그냥 할당을 무시하는 것입니다해야합니다.
  2. 이 도움이 Object.defineProperty()

희망을 참조하십시오.