Pengenalan kepada tindakan Jalankan JavaScript pada Halaman Web dalam Pintasan pada iPhone atau iPad
Hampir semua halaman web diskripkan menggunakan JavaScript, bahasa pengaturcaraan yang mencipta kesan dinamik dalam pelayar web, termasuk animasi, menu interaktif, main balik video dan banyak lagi. Secara umum, JavaScript tidak terdedah kepada anda semasa anda melihat tapak web. Namun begitu, dengan membina pintasan yang mengandungi tindakan Jalankan JavaScript pada Halaman Web dan kemudian menjalankan pintasan daripada app Safari, anda boleh mengawal JavaScript halaman web.
Pintasan yang menjalankan JavaScript tersuai anda pada halaman web mempunyai pelbagai kegunaan. Contohnya, anda boleh mencipta pintasan yang mendapatkan data khusus daripada halaman web dan kemudian menggabungkan data tersebut dalam tugas, seperti mengekstrak jadual kelas dan kemudian menambahnya ke app Kalendar, atau mengeksport data ahli kumpulan media sosial dan kemudian menambah data tersebut ke hamparan.
Anda juga boleh mencipta pintasan yang membenarkan anda mengubah suai halaman web, seperti menukar fon teks halaman web atau mengubah suai kelajuan video dimainkan balik. Sebelum anda boleh menjalankan JavaScript daripada pintasan, anda mesti mendayakan seting. Lihat Seting Privasi dan keselamatan lanjutan dalam Pintasan pada iPhone atau iPad.
Untuk mendapatkan maklumat tentang menggunakan pintasan yang menjalankan JavaScript pada halaman web, lihat Gunakan tindakan Jalankan JavaScript pada Halaman Web dalam Pintasan pada iPhone atau iPad.
Perihal mengambil data halaman web
Tindakan Jalankan JavaScript pada Halaman Web membolehkan anda mengambil data daripada halaman web dengan mengambil semua elemen yang sepadan dengan kriteria tertentu, kemudian mengulang elemen untuk menjalankan tugas dengan data (atau untuk memeriksa elemen dengan lebih lanjut).
Contohnya, untuk mencipta senarai setiap elemen imej pada halaman web, gunakan:
var elements = document.querySelectorAll("img");
Dalam contoh lain, untuk mengambil setiap elemen dengan kelas “siaran”, gunakan:
var elements = document.querySelectorAll(".post");
Sebaik sahaja NodeList dicipta, anda boleh mengulang elemen (untuk menapis lagi elemen atau menambahkan elemen ke struktur data) menggunakan sesuatu seperti:
var elements = ...;
for (let element of elements) {
// ...
}
Untuk mendapatkan maklumat lanjut tentang meminta hasil halaman web, lihat https://developer.mozilla.org/Selectors dan https://developer.mozilla.org/SelectorAll.
Input tindakan Jalankan JavaScript pada Halaman Web
Input untuk tindakan Jalankan JavaScript pada Halaman Web mestilah halaman web Safari aktif, yang bermakna anda mesti menjalankan pintasan daripada helaian kongsi (khususnya daripada Safari, SFSafariViewController, atau ASWebAuthenticationSession).
Apabila pintasan dijalankan daripada helaian kongsi, input daripada app Safari diserahkan ke dalam tindakan pertama pintasan anda.
Walaupun input untuk tindakan Jalankan JavaScript pada Halaman Web mesti halaman web Safari, anda boleh memasukkan data tambahan ke dalam tindakan dengan menggunakan Pemboleh Ubah Pintar. Contohnya, pintasan Tukar Kelajuan Video (tersedia dalam Galeri) mengandungi tindakan Jalankan JavaScript pada Halaman Web yang mengubah suai video pada halaman web. Kadar main balik video dikawal oleh pemboleh ubah Kelajuan.
Untuk mendapatkan maklumat tentang menjalankan pintasan daripada Safari, lihat Lancarkan pintasan daripada app lain pada iPhone atau iPad.
Output tindakan Jalankan JavaScript pada Halaman Web
Untuk memulangkan data, anda mesti memanggil pengendali pelengkapan dalam JavaScript, seperti completion(result)
. Disebabkan JavaScript sering digunakan dengan corak tak segerak, panggilan adalah tak segerak. Dengan cara ini, anda boleh melengkapkan tindakan secara tak segerak. Contohnya, yang berikut adalah sah:
window.setTimeout(function() {
completion(true);
}, 1000);
Output tindakan Jalankan JavaScript pada Halaman Web ialah sebarang jenis data JSON, termasuk:
Rentetan
Nombor
Boolean (benar atau palsu)
Tatasusunan (mengandungi sebarang jenis JSON sah yang lain)
Kamus (mengandungi sebarang jenis JSON sah yang lain)
Nol
Tidak Ditentukan
Di sebalik tabir, Pintasan mengekod dan menyahkod nilai anda yang dipulangkan secara automatik untuk berkomunikasi antara JavaScript dan app Pintasan. Ini bermakna anda tidak perlu memanggil JSON.stringify(result)
sebelum memanggil pengendali pelengkapan.
Disebabkan nilai pulangan ialah JSON, nilai pulangan tertentu tidak akan berfungsi dengan baik. Contohnya, fungsi atau Nod tidak mempunyai perwakilan dikodkan JSON yang berguna. Dalam kes ini, anda disyorkan untuk mencipta Tatasusunan/Kamus yang mengandungi nilai serasi dengan JSON yang anda perlukan.
Nota: Disebabkan objek dalam JavaScript hanyalah kamus, objek asas bertukar kepada JSON dengan baik.
Jika anda tidak mahu mengembalikan sebarang data daripada tindakan Jalankan JavaScript pada Halaman Web, anda boleh memanggil completion()
tanpa argumen dalam fungsi (kerana undefined
ialah output yang sah). Ini serupa dengan memanggil completion(undefined)
.
Untuk mendapatkan maklumat lanjut tentang JSON, lihat Pengenalan kepada menggunakan JSON dalam Pintasan pada iPhone dan iPad.
Untuk mendapatkan maklumat lanjut tentang Nod, lihat https://developer.mozilla.org/Node.
Untuk mendapatkan maklumat lanjut tentang fungsi, lihat https://developer.mozilla.org/Functions.
Had masa tindakan Jalankan JavaScript pada Halaman Web
Seperti semua sambungan JavaScript dalam Safari, tindakan Jalankan JavaScript pada Halaman Web tertakluk pada had masa dan perlu dilengkapkan secepat mungkin. JavaScript yang menggunakan fungsi segerak mungkin tidak sempat dilengkapkan, termasuk:
window.alert()
window.prompt()
window.confirm()
Tamat masa yang bertahan selama beberapa saat—contohnya:
window.setTimeout(function() { completion(); }, 5000);
Jika JavaScript anda melebihi had masa, pintasan akan gagal dilengkapkan dan mesej ralat JavaScript Tamat Masa akan muncul apabila anda menjalankan pintasan.
Pengendalian Sintaks dan Ralat Masa Jalanan
Anda boleh menggunakan sintaks yang disokong dalam Safari untuk menulis JavaScript dalam tindakan Jalankan JavaScript pada Halaman Web.
Dalam app Pintasan, tindakan Jalankan JavaScript pada Halaman Web membantu anda mencari ralat dengan melakukan semakan sintaks asas sebelum anda menjalankan pintasan daripada sambungan Safari.
Semasa anda memasukkan skrip anda dalam medan teks, penyerlahan sintaks membantu memastikan JavaSript anda sah. Contohnya, jika anda terlupa untuk menyertakan tanda petikan di akhir rentetan, semua teks selepas rentetan diserlahkan.
Jika sintaks skrip anda sah tetapi mengandungi ralat masa jalanan, tindakan Jalankan JavaScript pada Halaman Web mendapatkan dan memaparkan pengecualian. Contohnya, jika skrip anda merujuk pemboleh ubah atau fungsi yang tidak wujud (seperti shortcuts.completion()
), ralat dipaparkan pada masa jalanan.