Saat melihat sumber halaman di Google Chrome, browser membuka tab baru dan pada dasarnya menempelkan URL dengan view-source:
awalan. Ini tidak diinginkan.
Sebagai pengembang, saya dapat menyertakan beberapa hasil diagnostik yang hanya terlihat di sumber setelah mengirimkan formulir. Ketika Chrome Menyegarkan halaman untuk melihat sumbernya, itu membuat informasi ini hilang.
Apakah ada cara untuk mencegah perilaku ini?
Catatan: Saya terbiasa dengan opsi "Inspect Element". Ini tidak cukup memadai untuk melihat sumber halaman mentah dari halaman yang Anda lihat.
Skrip uji cepat
<pre>
<?= print_r($_POST, true) ?>
</pre>
<form action="" method="post">
<input id="foo" name="foo" value="bar" />
<input type="submit" />
</form>
Setelah mengklik tombol kirim, halaman ditampilkan
Array
(
[foo] => bar
)
Jika Anda melihat sumber halaman, Anda akan melihat output kosong $_POST
<pre>
Array
(
)
</pre>
<form action="" method="post">
<input id="foo" name="foo" value="bar" />
<input type="submit" />
</form>
Memperbarui
Rupanya bug ini sudah dikirimkan. Mendesah...
Jika ada yang tahu tentang pekerjaan yang baik di sekitar, saya akan sangat menghargainya.
Jawaban:
Dari halaman laporan bug, solusi yang disebutkan dalam komentar 12 berfungsi: Di Alat Pengembang, aktifkan Pelacakan Sumber Daya. (Jika tidak aktif, mengaktifkannya akan mengirimkan kembali permintaan yang menghasilkan halaman yang saat ini terlihat, baik POST atau GET.) Dalam daftar Sumber Daya, Anda dapat mengklik halaman utama untuk melihat kode sumber seperti yang dikembalikan oleh beberapa untuk permintaan POST dan GET.
Informasi lebih lanjut
Saya menjalankan beberapa tes menggunakan file php sederhana yang menunjukkan metode permintaan yang digunakan dan nilai POSTed, log server proxy untuk melihat permintaan yang dibuat Chrome, dan
chrome://net-internals/view-cache/
awalan untuk melihat apa yang Chrome caching.Saat Anda menggunakan perintah Lihat Sumber, Chrome menunjukkan sumber dari versi halaman yang di - cache , dan itu hanya cache halaman yang diminta melalui metode GET.
Jika Anda melihat halaman yang sebelumnya Anda minta menggunakan GET dan POST, maka hanya versi GET yang di-cache. Menggunakan perintah Lihat Sumber tidak akan meminta kembali halaman, tetapi akan menampilkan versi GET yang di-cache, bukan versi POST yang saat ini terlihat, jika ada.
Jika Anda melihat halaman yang hanya Anda minta menggunakan metode POST, maka menggunakan perintah View Source akan menyebabkan Chrome mencari dalam cache-nya, tidak menemukan apa pun, meminta halaman menggunakan GET, cache, dan perlihatkan sumbernya. dari itu.
sumber
use "Inspect Element"
Pertanyaan bagus - dan agak mengecewakan untuk membaca semua komentar "ini salah" atau "ini tidak akan berhasil". Perilaku ini membuat fitur "Lihat sumber halaman" tidak berguna untuk pengembangan dalam banyak kasus.
Ada ekstensi yang disebut " Quick source viewer ", yang tampaknya benar-benar menunjukkan sumber halaman yang sedang dimuat (saya belum mengujinya dengan permintaan POST).
sumber
Saya minta maaf untuk memberitahu Anda, tetapi ini bertentangan dengan sifat browsing dan debugging saat ini di browser ...
Sumber asli tidak disimpan dalam memori, tetapi diuraikan dan diubah menjadi pohon parsing secepat mungkin, ini untuk mencegah penggunaan memori yang tidak berguna. Dengan demikian, setiap informasi debug yang Anda sembunyikan di sumber hilang dan harus diminta secara eksplisit. Di situs Web 2.0 yang disebut, elemen juga berubah dan itulah sebabnya inspeksi seperti itu ...
Solusi 1: Fiddler Web Debugger memungkinkan Anda memeriksa lalu lintas HTTP,
ini memungkinkan Anda melihat informasi debug dari permintaan terakhir Anda.
Solusi 2: Sematkan informasi debug Anda atau tambahkan di bagian akhir,
atau mungkin tampilkan sebagai sembulan atau dengan cara luar biasa lainnya yang tidak mengganggu tata letak Anda.
sumber