Debugger Chrome Tidak Berfungsi pada File Lokal

Saya mencoba men-debug beberapa Javascript secara lokal, tetapi saya mengalami masalah aneh. Jika saya membuka file lokal seperti:

<html>
    <head>
        <script src="file.js"></script>
    </head>
    <body></body>
</html>

dengan file.js yang hanya:

(function() {
    'use strict';
    debugger
})();

gagal untuk menjeda pada baris debugging. Namun, jika saya membuka file yang sama persis di Firefox/Firebug, baris tersebut akan dijeda. Selain itu, jika saya menambahkan baris debugger ke file yang disajikan di server lokal saya (mis. File http://, bukan file file://), debugger Chrome akan dijeda seperti yang diharapkan.

Masalahnya hanya muncul (sejauh yang saya tahu) di Chrome dengan file lokal. Namun, saya sudah banyak mencari di Google dan saya belum dapat menemukan opsi "nonaktifkan debugger di file lokal" untuk Chrome atau semacamnya (yang mungkin saya aktifkan secara tidak sengaja).

Adakah yang pernah melihat ini sebelumnya, dan jika ya, apakah Anda dapat mengatasinya?


person machineghost    schedule 14.02.2013    source sumber


Jawaban (1)


Jadi ternyata masalahnya adalah flag yang saya tambahkan ke Chrome. Secara default, Chrome tidak akan membiarkan file lokal Anda mengakses file lokal lainnya, jadi saya telah mengaktifkan pemuatan file lokal dengan tanda baris perintah:

--allow-file-access-from-files

Itu berfungsi dengan baik, kecuali itu menyebabkan efek samping yang tidak saya sadari: ketika Anda menjalankan file lokal (atau setidaknya file lokal yang dimuat oleh file lokal lainnya) Chrome tampaknya "menyimpan" file tersebut. Sayangnya, Chrome juga menolak untuk men-debug kode "sandbox", yang berarti debugger saya gagal secara misterius.

Jadi, bagi siapa pun yang ingin menjalankan file lokal di Chrome (katakanlah untuk menjalankan kerangka pengujian berbasis web), triknya adalah dengan terlebih dahulu menambahkan tanda di atas, tetapi kemudian tambahkan juga tanda ini:

--allow-sandbox-debugging

sehingga Chrome akan tetap memicu debugger ketika kode Anda menyertakan baris debugger di file lokal.

person machineghost    schedule 18.02.2013