
Introdução Ć ação āExecutar JavaScript na pĆ”gina webā na aplicação Atalhos no iPhone ou iPad
Quase todas as pĆ”ginas web sĆ£o programadas com JavaScript, uma linguagem de programação que cria efeitos dinĆ¢micos dentro dos navegadores web, incluindo animaƧƵes, menus interativos, reprodução de vĆdeo, etc. Geralmente, o JavaScript nĆ£o estĆ” exposto quando se navega num website. No entanto, ao criar um atalho que contenha a ação āExecutar JavaScript na pĆ”gina webā e, em seguida, executar o atalho a partir do Safari, pode controlar o JavaScript de uma pĆ”gina web.
Os atalhos que executam o JavaScript personalizado numa pĆ”gina web tem inĆŗmeras utilidades. Por exemplo, pode criar atalhos que obtĆŖm dados especĆficos de uma pĆ”gina web e, em seguida, incorporam esses dados numa tarefa como, por exemplo, extrair o horĆ”rio de uma disciplina e adicionĆ”-lo Ć aplicação CalendĆ”rio, ou exportar os dados dos membros de um grupo nas redes sociais e adicionar esses dados a uma folha de cĆ”lculo.
TambĆ©m pode criar atalhos que lhe permitem modificar uma pĆ”gina web, como alterar o tipo de letra do texto da pĆ”gina web ou modificar a velocidade com um vĆdeo Ć© reproduzido. Antes de poder executar JavaScript de um atalho, tem de ativar a definição. Consulte DefiniƧƵes avanƧadas de privacidade e seguranƧa na aplicação Atalhos no iPhone ou iPad.
EncontrarĆ” informação acerca da criação de atalhos que executam JavaScript numa pĆ”gina web em Usar a ação āExecutar JavaScript na pĆ”gina webā na aplicação Atalhos no iPhone ou iPad.
Acerca da obtenção de dados de pÔgina web
A ação āExecutar JavaScript na pĆ”gina webā permite-lhe obter dados de uma pĆ”gina web capturando todos os elementos que correspondem a determinados critĆ©rios e, em seguida, iterar atravĆ©s desses elementos para realizar uma tarefa com os dados (ou inspecionar ainda mais os elementos).
Por exemplo, para criar uma lista de todos os elementos de imagem numa pƔgina web, use:
var elements = document.querySelectorAll("img");
Noutro exemplo, para obter todos os elementos da classe āpublicarā, use:
var elements = document.querySelectorAll(".post");
Assim que Ʃ criado um NodeList, pode iterar atravƩs dos elementos (para filtrar ainda mais os elementos ou adicionar os elementos a uma estrutura de dados) usando algo como:
var elements = ...;
for (let element of elements) {
// ...
}
Para mais informaƧƵes acerca da consulta dos resultados da pƔgina web, consulte https://developer.mozilla.org/Selectors e https://developer.mozilla.org/SelectorAll.
Entrada da ação āExecutar JavaScript na pĆ”gina webā
A entrada para a ação āExecutar JavaScript na pĆ”gina webā tem de ser uma pĆ”gina web do Safari ativa, o que significa que tem de executar o atalho a partir da folha de partilha (especificamente a partir de Safari, SFSafariViewController ou ASWebAuthenticationSession).
Quando um atalho é executado a partir da folha de partilha, a entrada do Safari é passada para a primeira ação do atalho.
Embora a entrada para a ação āExecutar JavaScript na pĆ”gina webā tenha de ser uma pĆ”gina web do Safari, pode inserir dados adicionais na ação atravĆ©s de variĆ”veis mĆ”gicas. Por exemplo, o atalho Alterar velocidade do vĆdeo (disponĆvel na Galeria) que contĆ©m uma ação āExecutar JavaScript na pĆ”gina webā que modifica um vĆdeo numa pĆ”gina web. A taxa de reprodução do vĆdeo Ć© controlada pela variĆ”vel Velocidade.
EncontrarÔ informação sobre como executar atalhos a partir do Safari em Abrir um atalho noutra aplicação no iPhone ou iPad.
SaĆda da ação āExecutar JavaScript na pĆ”gina webā
Para obter dados, tem de chamar o gestor de conclusão em JavaScript, como, por exemplo, completion(result)
. Uma vez que o JavaScript Ć© normalmente usado com padrƵes assĆncronos, a chamada Ć© intencionalmente nĆ£o sĆncrona. Desta forma, pode terminar a ação de forma assĆncrona. Por exemplo, o seguinte Ć© vĆ”lido:
window.setTimeout(function() {
completion(true);
}, 1000);
A saĆda da ação āExecutar JavaScript na pĆ”gina webā Ć© qualquer tipo de dados JSON vĆ”lidos, incluindo:
Cadeia
NĆŗmero
Booleano (verdadeiro ou falso)
Matriz (com qualquer outro tipo de JSON vƔlido)
DicionƔrio (com qualquer outro tipo de JSON vƔlido)
Zero
NĆ£o definido
Nos bastidores, os Atalhos codificam e descodificam automaticamente o valor devolvido para comunicar entre o JavaScript e a aplicação Atalhos. Isso significa que não necessita de chamar JSON.stringify(result)
antes de chamar o gestor de conclusão.
Visto que o valor devolvido Ć© JSON, determinados valores devolvidos nĆ£o funcionarĆ£o bem. Por exemplo, uma função ou nó nĆ£o terĆ” uma representação Ćŗtil codificada em JSON. Neste caso, recomenda-se que crie uma Matriz ou um DicionĆ”rio que contenha os valores necessĆ”rios compatĆveis com JSON.
Nota: Visto que um objeto em JavaScript Ʃ apenas um dicionƔrio, os objetos bƔsicos convertem-se bem em JSON.
Se nĆ£o quiser devolver nenhum dado da ação āExecutar JavaScript na pĆ”gina webā, pode chamar completion()
sem nenhum argumento na função (porque undefined
Ć© uma saĆda vĆ”lida). Isto Ć© idĆŖntico a chamar completion(undefined)
.
EncontrarÔ mais informação acerca de JSON em Introdução à utilização de JSON na aplicação Atalhos no iPhone e iPad.
EncontrarÔ mais informações sobre nós em https://developer.mozilla.org/Node.
EncontrarƔ mais informaƧƵes sobre funƧƵes em https://developer.mozilla.org/Functions.
Limite de tempo da ação āExecutar JavaScript na pĆ”gina webā
Tal como todas as extensƵes JavaScript no Safari, a ação āExecutar JavaScript na pĆ”gina webā estĆ” sujeita a um limite de tempo e deverĆ” ser concluĆda o mais rapidamente possĆvel. Um JavaScript que use funƧƵes sĆncronas poderĆ” nĆ£o ser concluĆdo a tempo, incluindo:
window.alert()
window.prompt()
window.confirm()
Tempos limite excedidos que duram vƔrios segundos, por exemplo:
window.setTimeout(function() { completion(); }, 5000);
Se o JavaScript exceder o limite de tempo, o atalho nĆ£o serĆ” concluĆdo e surgirĆ” uma mensagem de erro de āTempo limite de JavaScript excedidoā quando executa o atalho.
Erro de manuseamento de sintaxe e tempo de execução
Pode usar qualquer sintaxe suportada no Safari para escrever JavaScript na acção āExecutar JavaScript na pĆ”gina webā.
Na aplicação Atalhos, a ação āExecutar JavaScript na pĆ”gina webā ajuda a detetar erros mediante uma verificação bĆ”sica de sintaxe antes de executar o atalho a partir da extensĆ£o do Safari.
à medida que introduz o script no campo de texto, o realce de sintaxe ajuda a garantir que o JavaScript é vÔlido. Por exemplo, caso se esqueça de incluir aspas no final de uma cadeia, todo o texto a seguir a essa cadeia é realçado.
Se a sintaxe do script for vĆ”lida mas contiver um erro de execução, a ação āExecutar JavaScript na pĆ”gina webā deteta e apresenta as exceƧƵes. Por exemplo, se o script fizer referĆŖncia a uma variĆ”vel ou função que nĆ£o existe (como shortcuts.completion()
), é apresentado um erro durante a execução.