![](https://help.apple.com/assets/62867F4BA154561AD42D0C98/62867F4EA154561AD42D0CA7/id_ID/389e356d55e928d40def9c16d476e5e0.png)
Pengantar tindakan Jalankan JavaScript di Halaman Web di Pintasan di iPhone atau iPad
Hampir semua halaman web dibuat skrip menggunakan JavaScript, bahasa pemrograman yang membuat efek dinamis di browser web, termasuk animasi, menu interaktif, pemutaran video, dan lainnya. Pada umumnya, JavaScript tidak ditampilkan kepada Anda saat Anda melihat situs web. Namun, dengan membuat pintasan yang berisi tindakan Jalankan JavaScript di Halaman Web, lalu menjalankan pintasan dari app Safari, Anda dapat mengontrol JavaScript halaman web.
Pintasan yang menjalankan JavaScript khusus Anda di halaman web memiliki banyak kegunaan. Misalnya, Anda dapat membuat pintasan yang mengambil data tertentu dari halaman web, lalu menggabungkan data tersebut ke dalam tugas, seperti mengekstrak jadwal kelas, lalu menambahkannya ke app Kalender, atau mengekspor data anggota grup media sosial, lalu menambahkannya ke spreadsheet.
Anda juga dapat membuat pintasan yang memungkinkan Anda untuk memodifikasi halaman web, seperti mengubah font teks halaman web atau memodifikasi kecepatan pemutaran video. Sebelum dapat menjalankan JavaScript dari pintasan, Anda harus mengaktifkan pengaturan. Lihat Pengaturan privasi dan keamanan lanjutan di Pintasan di iPhone atau iPad.
Untuk informasi mengenai cara menggunakan pintasan yang menjalankan JavaScript di halaman web, lihat Menggunakan tindakan Jalankan JavaScript di Halaman Web di Pintasan di iPhone atau iPad.
Mengenai cara mengambil data halaman web
Tindakan Jalankan JavaScript di Halaman Web memungkinkan Anda untuk mengambil data dari halaman web dengan mengambil semua elemen yang cocok dengan kriteria tertentu, lalu memproses ulang elemen tersebut untuk menjalankan tugas dengan data (atau untuk menginspeksi elemen lebih jauh).
Misalnya, untuk membuat daftar setiap elemen gambar di halaman web, gunakan:
var elements = document.querySelectorAll("img");
Pada contoh lain, untuk mengambil setiap elemen dengan kelas “postingan”, gunakan:
var elements = document.querySelectorAll(".post");
Setelah NodeList dibuat, Anda dapat memproses ulang elemen (untuk memfilter elemen lebih jauh atau menambahkan elemen ke struktur data) menggunakan sesuatu seperti:
var elements = ...;
for (let element of elements) {
// ...
}
Untuk informasi lainnya mengenai cara meminta hasil halaman web https://developer.mozilla.org/Selectors dan https://developer.mozilla.org/SelectorAll.
Input tindakan Jalankan JavaScript di Halaman Web
Input untuk tindakan Jalankan JavaScript di Halaman Web harus merupakan halaman web Safari yang aktif, yang berarti Anda harus menjalankan pintasan dari lembar berbagi (khususnya dari Safari, SFSafariViewController, atau ASWebAuthenticationSession).
Saat pintasan dijalankan dari lembar berbagi, input dari app Safari diteruskan ke tindakan pertama pintasan Anda.
Meskipun input untuk tindakan Jalankan JavaScript di Halaman Web harus berupa halaman web Safari, Anda dapat menyisipkan data tambahan ke tindakan dengan menggunakan Variabel Magic. Misalnya, pintasan Ubah Kecepatan Video (tersedia di Galeri) berisi tindakan Jalankan JavaScript di Halaman Web yang memodifikasi video di halaman web. Laju pemutaran video dikontrol oleh variabel Kecepatan.
Untuk informasi mengenai cara menjalankan pintasan dari Safari, lihat Meluncurkan pintasan dari app lain di iPhone atau iPad.
Output tindakan Jalankan JavaScript di Halaman Web
Untuk mengembalikan data, Anda harus merujuk ke pengendali penyelesaian di JavaScript, seperti completion(result)
. Karena JavaScript biasanya digunakan dengan pola asinkron, perujukan sengaja dibuat tidak sinkron. Dengan demikian, Anda dapat menyelesaikan tindakan dengan cara asinkron. Misalnya, yang berikut ini sah:
window.setTimeout(function() {
completion(true);
}, 1000);
Output tindakan Jalankan JavaScript di Halaman Web adalah jenis data JSON apa pun yang sah, meliputi:
String
Nomor
Boolean (benar atau salah)
Larik (berisi jenis JSON lainnya yang sah)
Kamus (berisi jenis JSON lainnya yang sah)
Null
Tidak Ditetapkan
Di latar belakang, Pintasan secara otomatis mengodekan dan mendekode nilai Anda yang dikembalikan untuk komunikasi antara JavaScript dan app Pintasan. Ini berarti Anda tidak perlu merujuk pada JSON.stringify(result)
sebelum merujuk pada pengendali penyelesaian.
Karena nilai balik merupakan JSON, nilai balik tertentu tidak akan berfungsi dengan baik. Misalnya, fungsi atau Node tidak akan memiliki representasi yang dikodekan JSON yang bermanfaat. Dalam kasus ini, Anda dianjurkan untuk membuat Larik/Kamus yang berisi nilai yang kompatibel dengan JSON yang Anda perlukan.
Catatan: Karena objek di JavaScript hanya sekadar kamus, objek dasar dapat dikonversi ke JSON dengan baik.
Jika Anda tidak ingin mengembalikan data apa pun dari tindakan Jalankan JavaScript di Halaman Web, Anda dapat merujuk ke completion()
tanpa argumen di fungsi (karena undefined
merupakan output yang sah). Ini serupa dengan perujukan ke completion(undefined)
.
Untuk informasi lainnya mengenai JSON, lihat Pengantar cara menggunakan JSON di Pintasan di iPhone dan iPad.
Untuk informasi lainnya mengenai Nodes, lihat https://developer.mozilla.org/Node.
Untuk informasi lainnya mengenai function, lihat https://developer.mozilla.org/Functions.
Batas waktu input tindakan Jalankan JavaScript di Halaman Web
Seperti semua ekstensi JavaScript di Safari, tindakan Jalankan JavaScript di Halaman Web terikat pada batas waktu dan harus diselesaikan secepat mungkin. JavaScript yang menggunakan fungsi sinkron mungkin tidak selesai tepat waktu, termasuk:
window.alert()
window.prompt()
window.confirm()
Batas waktu selama beberapa detik—misalnya:
window.setTimeout(function() { completion(); }, 5000);
Jika JavaScript Anda melebihi batas waktu, pintasan akan gagal diselesaikan dan pesan kesalahan Waktu JavaScript Habis akan muncul saat Anda menjalankan pintasan.
Penanganan Kesalahan Sintaksis dan Runtime
Anda dapat menggunakan sintaksis mana pun yang didukung di Safari untuk menulis JavaScript di tindakan Jalankan JavaScript di Halaman Web.
Di app Pintasan, tindakan Jalankan JavaScript di Halaman Web membantu Anda mendeteksi kesalahan dengan menjalankan pemeriksaan sintaksis dasar sebelum Anda menjalankan pintasan dari ekstensi Safari.
Saat Anda memasukkan skrip di bidang teks, penyorotan sintaksis membantu memastikan bahwa JavaScript Anda sah. Misalnya, jika Anda lupa menyertakan tanda kutip di akhir string, semua teks setelah string tersebut akan disoroti.
Jika sintaksis skrip Anda sah tapi berisi kesalahan runtime, tindakan Jalankan JavaScript di Halaman Web akan mendeteksi dan menampilkan pengecualian. Misalnya, jika skrip Anda memiliki referensi variabel atau fungsi yang tidak ada (seperti shortcuts.completion()
), kesalahan akan ditampilkan di runtime.