Tietoja Oikoteiden Suorita JavaScript verkkosivulla -toiminnosta
Lähes kaikissa verkkosivuissa on käytetty JavaScriptiä, ohjelmointikieltä, joka luo verkkoselaimissa dynaamisia tehosteita, kuten animaatioita, vuorovaikutteisia valikoita, videoita ja muuta. JavaScript ei yleensä näy , kun selaat verkkosivua. Voit kuitenkin hallita verkkosivun JavaScriptiä laatimalla oikotien, joka sisältää Suorita JavaScript verkkosivulla -toiminnon, ja suorittamalla oikotien sitten Safari-apissa.
Oikoteitä, jotka suorittavat muokatun JavaScriptin verkkosivulla, voi käyttää moniin tarkoituksiin. Voit esimerkiksi luoda oikoteitä, jotka noutavat verkkosivulta tiettyä dataa ja sisällyttävät sen sitten tehtävään (esim. luentoaikataulun noutaminen ja sen lisääminen Kalenteri-appiin, tai Facebook-ryhmän jäsentietojen vieminen ja näiden tietojen lisääminen laskentataulukkoon).
Voit myös luoda oikoteitä, joilla voi muokata verkkosivua, kuten muuttaa verkkosivun fonttia tai nopeutta, jolla videota toistetaan.
Jos haluat tietoja JavaScriptiä verkkosivulla suorittavien oikoteiden käyttämisestä, katso Suorita JavaScript verkkosivulla -toiminnon käyttäminen Oikoteissä.
Tietoja: verkkosivujen datan noutaminen
Suorita JavaScript verkkosivulla -toiminnolla voit noutaa dataa verkkosivulta poimimalla sieltä kaikki tietyt kriteerit täyttävät elementit ja sitten käydä läpi elementit ja suorittaa datalla tehtävän (tai tarkastella elementtejä lähemmin).
Jos esimerkiksi haluat luoda listan verkkosivun kaikista kuvaelementeistä:
var elements = document.querySelectorAll("img");
Toisena esimerkkinä kaikkien post-luokan elementtien noutaminen:
var elements = document.querySelectorAll(".post");
Kun NodeList on luotu, voit käydä elementit läpi (ja suodattaa niitä edelleen tai lisätä niitä datarakenteeseen) esimerkiksi seuraavasti:
var elements = ...;
for (let element of elements) {
// ...
}
Lisätietoja verkkosivun tulosten kyselemisestä saat osoitteista https://developer.mozilla.org/Selectors ja https://developer.mozilla.org/SelectorAll.
Suorita JavaScript verkkosivulla -toiminnon syöte
Suorita JavaScript verkkosivulla -toiminnon syötteen on oltava aktiivinen Safari-verkkosivu. Tämä tarkoittaa, että sinun on suoritettava oikotie jakoikkunassa olevassa oikotietoimintolaajennuksesta (erityisesti Safarista, laajennuksesta SFSafariViewController tai ASWebAuthenticationSession).
Kun oikotie suoritetaan jakoikkunassa, Safari-apista tuleva syöte annetaan oikotien ensimmäiseen toimintoon.
Vaikka Suorita JavaScript verkkosivulla -toiminnon syötteen on oltava Safari-verkkosivu, voit lisätä toimintoon lisätietoja käyttämällä taikamuuttujia. Esimerkiksi seuraava oikotie sisältää Suorita JavaScript verkkosivulla -toiminnon, joka muokkaa verkkosivulla olevaa videota. Videon toistonopeutta ohjataan Speed-muuttujalla.
Vinkki: Oikotie Change Video Speed (muuta videon nopeutta) on nyt saatavilla Galleriassa.
Jos Suorita JavaScript verkkosivulla -toiminto ei ole oikotiesi ensimmäinen toiminto, näkyviin tulee virheviesti, kun suoritat oikotien.
Voit korjata tämän lisäämällä Hae muuttuja -toiminnon ja asettamalla sen parametriksi Safari-verkkosivun, jonka sisältö annetaan Suorita JavaScript verkkosivulla -toimintoon.
Jos haluat tietoja oikoteiden suorittamisesta Safarissa, katso Oikoteiden asettaminen ja suorittaminen toisesta apista.
Suorita JavaScript verkkosivulla -toiminnon tuotos
Datan palauttamiseksi JavaScriptissä on käytettävä loppukäsittelijää, kuten completion(result)
. Koska JavaScriptiä käytetään yleensä asynkronisesti, kutsu ei tarkoituksella ole synkroninen. Näin voit suorittaa toiminnon loppuun asynkronisesti. Esimerkiksi seuraava on kelvollinen:
window.setTimeout(function() {
completion(true);
}, 1000);
Suorita JavaScript verkkosivulla -toiminnon tuotos on mikä tahansa kelvollinen JSON-datatyyppi, mukaan lukien seuraavat:
merkkijono
numero
totuusarvo (tosi tai epätosi)
taulu (joka sisältää minkä tahansa muun kelvollisen JSON-tyypin)
sanakirja (joka sisältää minkä tahansa muun kelvollisen JSON-tyypin)
Tyhjä
Määrittelemätön
Jos haluat lisätietoja JSONista, katso Tietoja JSONin käyttämisestä oikotiessä.
Oikotiet koodaa ja purkaa palautetun arvon automaattisesti taustalla JavaScriptin ja Oikotiet-apin välistä kommunikointia varten. Näin ollen sinun ei tarvitse käyttää funktiota JSON.stringify(result)
ennen loppukäsittelijän käyttämistä.
Koska palautettu arvo on JSON, tietyt palautetut arvot eivät toimi hyvin. Esimerkiksi toiminnolla tai solmulla ei ole hyödyllistä JSON-koodattua esitystä. Tässä tapauksessa suositellaan luotavaksi taulu/sanakirja, joka sisältää tarvitsemasi JSON-yhteensopivat arvot.
Lisätietoja solmuista saat osoitteesta https://developer.mozilla.org/Node; lisätietoja toiminnoista saat osoitteesta https://developer.mozilla.org/Functions.
Huomaa: Koska objekti on JavaScriptissä vain sanakirja, perusoliot muuntuvat JSON-muotoon hyvin.
Jos et halua palauttaa mitään dataa Suorita JavaScript verkkosivulla -toiminnosta, voit käyttää funktiota
ilman argumenttia (koska completion()
määrittämätön
on kelvollinen tuotos). Tämä on sama kuin kutsu completion(undefined)
.
Suorita JavaScript verkkosivulla -toiminnon aikaraja
Kaikkien Safarin JavaScript-laajennusten tavoin myös Suorita JavaScript verkkosivulla -toiminnolla on aikaraja ja se tule suorittaa loppuun niin nopeasti kuin mahdollista. Synkronisia toimintoja käyttäviä JavaScripteja ei välttämättä saada suoritettua ajoissa loppuun, mukaan lukien:
window.alert()
window.prompt()
window.confirm()
Useita sekunteja kestävät aikakatkaisut, esimerkiksi:
window.setTimeout(function() { completion(); }, 5000);
Jos JavaScript ylittää aikarajan, oikotietä ei suoriteta loppuun ja näytöllä näkyy JavaScript-aikakatkaisu-virheviesti oikotietä suoritettaessa.
Syntaksi ja ajonaikaisten virheiden käsittely
Voit kirjoittaa JavaScriptiä Suorita JavaScript verkkosivulla -toimintoon millä tahansa Safarin tukemalla syntaksilla. iOS 12 tukee JavaScript-syntaksia ECMA 6, mukaan lukien for of
-silmukat ja let
.
Oikotiet-apissa Suorita JavaScript verkkosivulla -toiminto auttaa löytämään virheitä tarkistamalla syntaksin ennen kuin suoritat oikotien Safarin laajennuksesta.
Kun syötät skriptiä tekstikenttään, syntaksin korostus auttaa varmistamaan, että JavaScript on kelvollista. Jos esimerkiksi unohdat lainausmerkin merkkijonon lopusta, kaikki merkkijonoa seuraava teksti on korostettu.
Jos skriptin syntaksi on kelvollinen, mutta siinä on ajonaikainen virhe, Suorita JavaScript verkkosivulla -toiminto näyttää poikkeukset. Jos skripti esimerkiksi viittaa muuttujaan tai funktioon, jota ei ole olemassa (kuten shortcuts.completion()
), ajon aikana tulee näkyviin virhe.
Suojaus ja yksityisyys
Kun sallit oikotien suorittaa Javascriptia verkkosivulla, tämä oikotie pääsee käsiksi kaikkiin verkkosivulla oleviin tietoihin – mukaan lukien mahdolliset arkaluontoiset tiedot. Oikotiet-appi käyttää muutamia keinoja sen varmistamiseen, että käytät JavaScript-oikoteitä turvallisesti ja yksityisesti.
Kun suoritat oikotien, joka sisältää Suorita JavaScript verkkosivulla -toiminnon, näkyviin tulee kehote, että oikotie käyttää verkkosivua. Tämä tarkoittaa, että oikotie voi käyttää verkkosivulla mahdollisesti olevia arkaluontoisia tietoja, kuten salasanoja, puhelinnumeroja tai luottokorttitietoja.
Kun napautat Salli, oikotie suoritetaan määritetyllä verkkosivulla. Jos suoritat saman oikotien samalla verkkosivulla uudelleen, Oikotiet ei näytä kehotetta uudelleen. Tämä lupa on oikotie- ja verkkosivukohtainen.
Kun olet sallinut oikotien käyttää jotakin verkkosivua, Oikotiet suorittaa vaiheen, joka suojaa sinua mahdollisesti haitallisilta skripteiltä, lataamalla säännöllisesti päivitettäviä haittaohjelmien määritelmiä. Ennen vuorovaikutusta verkkosivun kanssa Oikotiet analysoi JavaScriptin ja tarkistaa sitten haittaohjelmien määritelmät. Tämän evaluoinnin perusteella Oikotiet sallii skriptin, estää skriptin tai näyttää ylimääräisen kehotteen ennen oikotien suorittamisen sallimista.
Tämä evaluointi suoritetaan laitteessa. JavaScriptin sisältöä (Suorita JavaScript verkkosivulla -toiminnon tekstikentässä) ei lähetetä ulkoiselle palvelimelle analysoitavaksi.
Jos oikotietä ei voida suorittaa, näkyviin tulee selittävä virheviesti.
Tärkeää: Älä koskaan suorita oikotietä, jonka sisältämään JavaScriptiin et luota.