Rumah >hujung hadapan web >tutorial js >Pseudo-protocol dalam JavaScript javascript: kemahiran perbincangan_javascript penggunaan

Pseudo-protocol dalam JavaScript javascript: kemahiran perbincangan_javascript penggunaan

WBOY
WBOYasal
2016-05-16 16:41:481478semak imbas

Cara untuk menambah kod javascript kepada klien adalah dengan meletakkannya dalam URL selepas javascript penentu pseudo-protocol:. Jenis protokol khas ini mengisytiharkan bahawa badan URL ialah kod JavaScript sewenang-wenangnya, yang dijalankan oleh jurubahasa JavaScript. Jika kod javascript dalam javascript:URL mengandungi berbilang pernyataan, pernyataan ini mesti dipisahkan dengan koma bertitik. URL sedemikian kelihatan seperti ini:

javascript:var now = new Date(); "<h1>The time is:</h1>" + now;

Apabila penyemak imbas memuatkan URL sedemikian, ia akan melaksanakan kod javascript yang terkandung dalam URL dan memaparkan nilai rentetan pernyataan javascript terakhir sebagai kandungan dokumen baharu. Nilai rentetan ini boleh mengandungi penanda HTML dan diformatkan supaya ia kelihatan sama seperti dokumen lain yang dimuatkan ke dalam penyemak imbas.

URL javascript juga boleh mengandungi pernyataan javascript yang hanya melakukan tindakan tetapi tidak mengembalikan nilai. Contohnya:

javascript:alert("hello world!")

Apabila URL jenis ini dimuatkan, penyemak imbas hanya melaksanakan kod javascript di dalamnya, tetapi memandangkan tiada nilai untuk dipaparkan sebagai dokumen baharu, ia tidak mengubah dokumen yang sedang dipaparkan.

Biasanya kami ingin menggunakan javascript:URL untuk melaksanakan beberapa kod javascript yang tidak mengubah dokumen yang sedang dipaparkan. Untuk melakukan ini, anda mesti memastikan bahawa pernyataan terakhir dalam URL tidak mengembalikan nilai. Salah satu cara ialah menggunakan operator void untuk menyatakan nilai pulangan secara eksplisit sebagai ditakrifkan hanya menggunakan pernyataan void 0 di hujung javascript:URL. Contohnya: URL berikut akan membuka tetingkap penyemak imbas baharu yang kosong tanpa mengubah kandungan tetingkap semasa:

javascript:window.open("about:blank"); void 0;

Jika URL ini tidak mempunyai operator void, nilai pulangan kaedah window.open() akan ditukar kepada rentetan dan dipaparkan dan tetingkap semasa akan ditimpa oleh dokumen seperti yang ditunjukkan di bawah.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn