Chrome 개발자 도구를 사용하여 자바 스크립트 편집


94

Chrome의 개발자 도구를 사용하여 사이트에서 자바 스크립트를 수정하려고합니다. 나는 이것을하는 방법에 대한 약 30 개의 계정을 읽었고 몇 개의 비디오를 보았습니다. 사실 소스 탭으로 이동하여 편집 할 파일을 열면 아무것도 할 수 없습니다. 내가 놓친 단계가 있습니까?

중단 점을 만들거나 단계를 통과 할 수 있습니다. 편집 할 수 없습니다. 이 기능이 최근에 제거 되었습니까?


1
콘솔에서 전화를 걸 수 있습니다. 나는 단순히 물건을 편집 할 수 없습니다.
cooperia

1
로컬 함수 및 변수를 재정의 할 수 있지만 개발 도구에서 파일에 대한 변경 사항을 저장할 수있는 방법은 없습니다. 이를 위해서는 여전히 외부 편집기가 필요합니다.
Geuis 2012 년

1
실제로 CSS 파일은 편집 할 수 있지만 PHP 파일에 포함 된 스크립트는 편집 할 수 없습니다. >.>
cooperia

1
음, Opera로 원하는 것을 할 수 있습니다. 문제가 해결되었습니다.
cooperia

1
@cooperia는 js 코드를 * .js 파일에 넣으면 크롬에서 실시간으로 편집하고 실행할 수 있습니다.
Mahn 2012-09-26

답변:


103

이 질문이 부실하다는 것을 알고 있지만 비슷한 문제가 발생하여 해결책을 찾았습니다.

파일을 미리 설정 한 경우 Chrome에서 수정을 허용하지 않습니다. 나는 그것을 끄고 편집 할 수 있었다. 이것이 당신의 문제라고 확신합니다.


4
네, 도움 것으로, 지금 편집 할 수 있습니다, 당신을 @raddevon 감사하지만 효과는 페이지에 나타나지 않습니다
올가미

2
이 주제를 검색하는 다른 사용자 : prettify를 OFF로 설정했지만 여전히 편집 할 수 없습니다. 다시 켜고 끄는 것이 도움이되었습니다. (그 조언에 대한 IT Crowd에게 감사드립니다;))
Drkawashima

3
계속 : 아니요. @raddevon과 동일한 문제가 있음이 밝혀졌습니다. 아마도 크롬의 버그 일 것입니다. 스크립트를 편집하고 저장할 수 있으며 디버깅 할 때 중단 점에 도달 할 수 있습니다. 그러나 실제로 실행중인 스크립트는 여전히 편집되지 않은 원본 버전입니다. 예 : 스크립트를 편집하고 모든 행에 주석을 달았지만 여전히 스크립트를 실행할 수 있고 행에서 중단 점을 누를 수 있습니다. 따라서 편집 된 버전은 실행되지 않고 표시되고 있습니다. 물론 스크립트를 다시 시작합니다. 영향없이 다른 방법으로 모든 종류의
Drkawashima

4
참고로 예쁘게 만든 다음 원본 파일에 복사하여 붙여 넣으면 편집 가능한 가식 원본 파일이됩니다.
Eoin

2
@Eoin 멋진! 그것은 완전히 속임수였습니다. 그리고 "로컬 재정의"기능을 사용하면 완벽하게 작동합니다. 힌트 주셔서 감사합니다 :-)
Xan-Kun Clark-Davis

52

"소스"탭의 개발자 도구에서 javascript를 편집 할 수 있지만 자체 파일에서만 javascript를 편집 할 수 있습니다. HTML (또는 PHP) 파일에 포함 된 스크립트는 읽기 전용으로 유지됩니다.


4
Linux에서 크롬을 사용하고 있으며 단일 .js 파일 인 경우에도 여전히 javascript를 편집 할 수 없습니다.
roopunk

2
약간 흥미로운 참고 사항 : Pretty Print 켜기 / 끄기 ( "{}"아이콘)를 사용하면 임베디드 js를 편집 할 수 있지만 변경 사항이 적용되지 않으므로 여전히 우리가 찾고있는 것이 아닙니다. (Chrome 29)
Patrick

그게 제가 알아야 할 것입니다. 감사합니다.
geeves

29

몇 가지 제한 사항이 있습니다.

  1. JS 파일이어야합니다. html 페이지에 태그를 삽입 할 수 없습니다.

  2. 예쁘게 만들 수 없습니다.


위의 지침을 따른 후에도 소스 탭의 변경 사항이 적용되지 않는 경우 왼쪽 트리 뷰에서 편집 된 파일을 마우스 오른쪽 버튼으로 클릭하고 "저장"을 선택하십시오. 로컬 파일을 저장할 것인지 묻는 대화 상자가 나타날 수 있지만 취소 할 수 있습니다. 그 시점에서만 Chrome의 편집 기록은 마침내 편집이 중단되었음을 보여줍니다.
Erhhung 2014-08-29

이 새 파일이 JS를 내장했기 때문에 내가 미쳐 가고 있었다 그러나 당신이 #gcb why..thank 나는 edit..i는 이해하지 못했다 수없고 #welah
carinlynchin

Sources개발자 도구 탭 아래의 목록에서 JS 파일을 포함 해제 할 수 있습니까?
techie_28

@ techie_28 확실하지 않습니다. 다른 질문을 엽니 다. 그러나 나는 그것에 대한 빠른 확장을 작성할 것입니다.
gcb

13

영구적으로 저장하려면 이것이 필요한지 모르겠지만 일시적으로 js를 수정해야하는 경우 :

수정하려는 자바 스크립트를 텍스트 편집기로 복사하고 편집 한 다음 콘솔에 붙여 넣으면 기능이나 재정의해야하는 모든 것을 재정의 할 수 있습니다.

예를 들어 페이지에 다음이있는 경우 :

<script>
var foo = function() { console.log("Hi"); }
</script>

스크립트간에 콘텐츠를 가져 와서 편집 한 다음 다음과 같이 디버거에 입력 할 수 있습니다.

foo = function() { console.log("DO SOMETHING DIFFERENT"); }

그리고 그것은 나를 위해 일할 것입니다.

아니면 좋아한다면

function foo() {
    doAThing();
}

그냥 들어갈 수 있습니다

function foo() {
    doSomethingElse();
}

그리고 foo는 재정의됩니다.

아마도 최선의 해결 방법은 아니지만 작동합니다. 페이지를 다시로드 할 때까지 지속됩니다.


5

"chrome dev tool edit javascript"를 검색했습니다. 이 페이지는 첫 번째 검색 결과입니다. 하지만 너무 구식이어서 도움이되지 않습니다.

Chrome 73을 사용하고 있습니다.이 버전의 Chrome에는 '로컬 재정의 사용'옵션이 있습니다. 이 기능을 사용하여 자바 스크립트를 편집하고 실행 및 디버그 할 수 있습니다.

여기에 이미지 설명 입력

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.