Uvod u radnju Pokreni JavaScript na web stranici u Prečacima na iPhoneu ili iPadu
Gotovo su sve web stranice skriptirane pomoću JavaScripta, programskog jezika koji izrađuje dinamičke efekte u internetskim preglednicima, uključujući animacije, interaktivne izbornike, video reprodukciju, i ostalo. Općenito, niste izloženi JavaScriptu kako pregledavate web stranicu. Međutim, ako izradite prečac koji sadrži postupak Pokreni JavaScript na web stranici i zatim pokrenete prečac iz aplikacije Safari, možete upravljati JavaScriptom web stranice.
Prečaci kojima se pokreće vaš prilagođeni JavaScript na web stranici mogu se upotrebljavati na mnoge načine. Primjerice, možete izraditi prečace koji dohvaćaju određene podatke s web stranice i zatim uključuju te podatke u zadatak, poput izdvajanja rasporeda razreda i zatim dodavanja rasporeda u aplikaciju Kalendar ili eksportiranja podataka po članovima društvene mreže i zatim dodavanja tih podataka u tablični dokument.
Možete također izraditi prečace pomoću kojih možete izmijeniti web stranicu, poput mijenjanja fonta teksta web stranice ili promjene brzine reprodukcije videozapisa. Prije nego možete pokrenuti JavaScript iz prečaca, morate omogućiti postavku. Pogledajte Napredne postavke privatnosti i sigurnosti u Prečacima na iPhoneu ili iPadu.
Za informacije o korištenju prečaca koji pokreću JavaScript na web stranici pogledajte Korištenje radnje Pokreni JavaScript na web stranici u Prečacima na iPhoneu ili iPadu.
O učitavanju podataka s web stranice
Pomoću postupka Pokreni JavaScript na web stranici možete učitati podatke s web stranice tako da dohvatite sve elemente koji odgovaraju određenim kriterijima i zatim višestruko obradite te elemente kako bi izvršili zadatak s podacima (ili dalje istražili elemente).
Primjerice, za izradu popisa svakog slikovnog elementa na web stranici upotrijebite:
var elementi = document.querySelectorAll("img");
U drugom primjeru, za učitavanje svakog elementa klase “post” upotrijebite:
var elementi = document.querySelectorAll(".post");
Kada se izradi NodeList možete višestruko obrađivati elemente (kako biste dalje filtrirali elemente ili dodali elemente u podatkovnu strukturu) koristeći nešto poput:
var elements = ...;
for (let element of elements) {
// ...
}
Za više informacija o ispitivanju rezultata web stranice pogledajte https://developer.mozilla.org/Selectors i https://developer.mozilla.org/SelectorAll.
Ulaz za postupak Pokreni JavaScript na web stranici
Ulaz za postupak Pokreni JavaScript na web stranici mora imati aktivnu Safari web stranicu što znači da morate pokrenuti prečac iz dijeljenja listova (posebice iz Safarija, SFSafariViewControllera ili ASWebAuthenticationSessiona).
Kada je prečac pokrenut s dijeljenja lista, ulaz iz aplikacije Safari prosljeđuju se u prvu radnju vašeg prečaca.
Iako ulaz za postupak Pokreni JavaScript na web stranici mora biti Safari web stranica, možete umetnuti dodatne podatke u postupak koristeći Magične varijable. Primjerice, prečac Promjena brzine videozapisa (dostupan u Galeriji) sadrži postupak Pokreni JavaScript na web stranici koji mijenja videozapis na web stranici. Brzinom reprodukcije upravlja varijabla Brzina.
Za informacije o pokretanju prečaca iz Safarija pogledajte Pokretanje prečaca iz druge aplikacije na iPhoneu ili iPadu.
Izlaz postupka Pokreni JavaScript na web stranici
Za vraćanje podataka morate pozvati upravljački program za dovršavanje u JavaScriptu, poput completion(result)
. Kako se JavaScript obično upotrebljava s asinkronim obrascima, poziv namjerno nije sinkroni. Ovako radnu možete dovršiti na asinkroni način. Primjerice, vrijedi sljedeće:
window.setTimeout(function() {
completion(true);
}, 1000);
Izlaz postupka Pokreni JavaScript na web stranici je bilo koja važeća vrsta JSON podataka, uključujući:
Niz
Broj
Booleovo (točno ili netočno)
Skup (koji sadrži bilo koju drugu važeću JSON vrstu)
Rječnik (koji sadrži bilo koju drugu važeću JSON vrstu)
Nula
Nije definirano
Iza kulica, aplikacija Prečaci automatski kodira i dekodira vašu vraćenu vrijednost za komunikaciju između JavaScripta i aplikacije Prečaci. To znači da ne trebate pozvati JSON.stringify(result)
prije pozivanja upravljačkog programa za dovršavanje.
Kako je povratna vrijednost JSON, određene povratne vrijednosti neće dobro funkcionirati. Primjerice, funkcija ili Čvor neće imati korisnu JSON kodirani prikaz. U tom slučaju se preporuča da izradite Skup/Rječnik koji sadrži vrijednosti kompatibilne s JSON formatom koje su vam potrebne.
Napomena: Kako je objekt u JavaScriptu jednostavno rječnik, osnovni objekti dobro se konvertiraju u JSON.
Ako ne želite vratiti bilo koji podatak iz postupka Pokreni JavaScript na web stranici, možete pozvati completion()
bez argumenta u funkciji (jer je undefined
važeći izlaz). Ovo je identično pozivanju completion(undefined)
.
Za više informacija o JSON formatu pogledajte Uvod u korištenje JSON-a u Prečacima na iPhoneu i iPadu.
Za više informacija o čvorovima pogledajte thttps://developer.mozilla.org/Node.
Za više informacija o funkcijama pogledajte thttps://developer.mozilla.org/Functions.
Vremensko ograničenje postupka Pokreni JavaScript na web stranici
Kao sve JavaScript ekstenzije u Safariju, postupak Pokreni JavaScript na web stranici podložan je vremenskom ograničenju i treba se dovršiti što je prije moguće. JavaScript koji koristi sinkrone funkcije možda se neće na vrijeme dovršiti, uključujući:
Grupu prozora
window.prompt()
window.confirm()
Istek vremena koji traje više sekunda—primjerice:
window.setTimeout(funkcija() { dovršetak(); }, 5000);
Ako vaš JavaScript prekoračuje vremensko ograničenje, prečac se neće dovršiti i kada pokrenete prečac pojavit će se poruka greške Isteklo vrijeme JavaScripta.
Upravljanje sintaksom i greškama u izvođenju
Možete upotrijebiti bilo koju sintaksu koja je podržana u Safariju za pisanje JavaScripta u postupku Pokreni JavaScript na web stranici.
U aplikaciji Prečaci postupak Pokreni JavaScript na web stranici pomaže vam uočiti greške tako da provodi osnovnu provjeru sintakse prije pokretanja prečaca iz Safari ekstenzije.
Kako unosite svoju skriptu u tekstualno polje, naglašavanje sintakse pomaže u osiguravanju važećeg JavaScripta. Primjerice, ako zaboravite unijeti navodnike na kraju niza, istaknut je cijeli tekst koji slijedi iza niza.
Ako je sintaksa vaše skripte važeća, ali sadrži grešku u izvođenju, postupak Pokreni JavaScript na web stranici hvata i prikazuje iznimke. Primjerice, ako vaša skripta navodi varijablu ili funkciju koja ne postoji (poput shortcuts.completion()
), prikazat će se greška tijekom izvođenja.