Có cách nào để sửa đổi mã JavaScript trong khi gỡ lỗi không? Visual Studio có "Chỉnh sửa và Tiếp tục" và việc trao đổi mã tương tự có thể được thực hiện bằng Java và các ngôn ngữ khác. Điều này có thể được thực hiện với JavaScript, và nếu có, làm thế nào?Làm thế nào để sửa đổi mã javascript tại thời gian chạy?
Trả lời
Chrome, Safari, và một số trình duyệt dựa trên WebKit khác chứa một tính năng trong Thanh tra Web được gọi là Chỉnh sửa trực tiếp. Nếu bạn đi đến bảng Scripts và dừng lại trên một breakpoint (hoặc thậm chí nếu không dừng lại trên một breakpoint - tôi không chắc chắn), bạn có thể nhấp đúp chuột vào một dòng và bắt đầu chỉnh sửa dòng đó. Những thay đổi bạn thực hiện sẽ có hiệu lực trên tập lệnh.
Nếu bạn đang nói về trong khi gỡ lỗi, rất dễ dàng để sửa đổi mã đang chạy. Trong bảng điều khiển gỡ lỗi, bạn có thể nhập vào các biểu thức Javascript và nó sẽ chạy trong ngữ cảnh của cửa sổ, chứa tất cả các đối tượng và chức năng của mã của bạn, do đó bạn có thể hoán đổi chúng bằng cách xác định lại chúng.
Với công cụ dành cho nhà phát triển Chrome, điều này cực kỳ dễ dàng.
Chỉ cần mở thanh tra mở, nhấp vào tab scripts
, chọn tab bạn muốn từ trình đơn thả xuống và sau đó bạn có thể chỉnh sửa tập lệnh và thêm điểm ngắt. Nếu bạn làm mới trang, các điểm ngắt của bạn sẽ ở lại đó.
Nếu bạn xem bài nói chuyện này nhưng Paul Ailen, ông cho thấy làm thế nào bạn có thể chỉnh sửa một kịch bản một cách nhanh chóng
http://paulirish.com/2011/a-re-introduction-to-the-chrome-developer-tools/
cũng tốt:
Có [Firebug] (http://getfirebug.com/) dành cho trình duyệt Firefox. – sanmai
Đúng vậy, firebug cũng rất tốt :) – wesbos
Ok Tôi đã không xem video nhưng tôi biết cách sử dụng bảng điều khiển để thực thi javascript khi đang di chuyển và thay đổi định nghĩa chức năng khi đang di chuyển. Nhưng đây không phải là điều tôi mong muốn. Tôi muốn có thể chỉnh sửa tập lệnh từ bên trong bảng điều khiển trình gỡ lỗi, giống như tôi có thể trong trình chỉnh sửa javascript yêu thích của mình. Điều đó có thể không? – theninjagreg
Vì JavaScript có thể sửa đổi DOM nên về cơ bản bạn phải thay đổi tệp JavaScript, lưu và tải lại. Đối với tôi, tôi thích IE vì vậy tôi chạy trang web trong một trình duyệt KHÔNG ở chế độ DEBUG. Sau đó, bạn có thể thay đổi các tập tin kịch bản, TIẾT KIỆM chúng. chuyển về trình duyệt và tải lại (F5) để xem các thay đổi của bạn. Giả sử IE 11 có khả năng này (có thể giống như Chrome vốn là những gì tôi đang làm, thay đổi việc tải lại từ những gì tôi có thể nói) nhưng tôi không thể tìm thấy, hãy để một mình mở tệp js. Giao diện người dùng siêu kém. Tôi đoán trình duyệt để mở biểu tượng tệp là nhưng nó luôn chuyển sang màu xám.
Bạn có thể trong trình gỡ lỗi Chrome, xem câu trả lời hàng đầu trên http://stackoverflow.com/questions/5067532/editing-in-chrome-debugger –
@Adam: Đăng câu trả lời! – icktoofay
Tôi đã làm! Nó đã được đánh dấu là một tầm thường và được chuyển thành một bình luận! Bạn không chắc chắn cách đánh dấu câu hỏi dưới dạng quảng cáo: ( –