diff options
Diffstat (limited to 'files/pt-pt/manipuladores_de_protocolo_web/index.html')
-rw-r--r-- | files/pt-pt/manipuladores_de_protocolo_web/index.html | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/files/pt-pt/manipuladores_de_protocolo_web/index.html b/files/pt-pt/manipuladores_de_protocolo_web/index.html new file mode 100644 index 0000000000..784696c1dc --- /dev/null +++ b/files/pt-pt/manipuladores_de_protocolo_web/index.html @@ -0,0 +1,97 @@ +--- +title: Manipuladores de protocolo web +slug: Manipuladores_de_protocolo_web +tags: + - Firefox 3 +--- +<p>{{ Fx_minversion_header(3) }} </p> +<h3 id="Vis.C3.A3o_geral" name="Vis.C3.A3o_geral"> Visão geral </h3> +<p>É comum encontrar páginas com links para recursos utilizando protocolos não-<code>http</code>. Um exemplo é o protocolo <code>mailto:</code>: +</p> +<pre><a href="mailto:webmaster@exemplo.com">Web Master</a> +</pre> +<p>Autores podem usar um link <code>mailto:</code> quando desejam fornecer uma maneira conveniente de enviar mensagens diretamente da página. Quando o link é ativado, o navegador deve lançar a aplicação padrão do sistema para manipular emails. Você pode pensar nisso como um manipulador de protocolos <i>baseado no desktop</i>. +</p><p>Manipuladores de protocolos baseados na web permitem que aplicações web também participem desse processo. Isso tem-se tornado mais importante à medida em que mais e mais tipos de aplicações tem migrado para a web. Na verdade, existem várias aplicações que manipulam mensagens baseadas na web que poderiam processar os links <code>mailto</code>. +</p> +<h3 id="Registrando" name="Registrando"> Registrando </h3> +<p>Registrar uma aplicação web como manipulador de protocolos não é um processo difícil. Basicamente, a aplicação web deve utilizar o o método <code><a href="pt/DOM/window.navigator.registerProtocolHandler">registerProtocolHandler()</a></code> para registrar-se como manipulador em potencial para um determinado protocolo. Por exemplo: +</p> +<pre>navigator.registerProtocolHandler("mailto", + "https://www.exemplo.com/?uri=%s", + "Correio de Exemplo"); +</pre> +<p>Onde os parâmetros são: +</p> +<ul><li> O protocolo; +</li><li> A URL do documento utilizado como manipulador; o "%s" será substituido pelo valor do atributo <code>href</code> do link e um GET será executado na URL resultante; +</li><li> O nome amigável do manipulador. +</li></ul> +<p>Quando um navegador executa esse código, ele deve pedir permissão ao usuário para registrar a aplicação como manipulador do protocolo. O Firefox exibe um prompt na barra de notificação: +</p><p><img alt="Image:mpw-notificacao.png"> +</p><p>{{ Note() }} +</p> +<h4 id="Exemplo" name="Exemplo"> Exemplo </h4> +<pre><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<html> +<head> + <title>Exemplo de manipulador de protocolo - Registro</title> + <script type="text/javascript"> + navigator.registerProtocolHandler("falso", + "http://loremipsum.org/projetos/mpw.php?valor=%s", + "Falso Mail"); + </script> +</head> +<body> + <h1>Exemplo de manipulador de protocolo</h1> + <p>Esta página instalará um manipulador de protocolos para o protocolo <code>falso:</code>.</p> +</body> +</html> +</pre> +<h3 id="Ativando" name="Ativando"> Ativando </h3> +<p>Agora, sempre que o usuário ativar um link que utiliza o protocolo registrado, o navegador direcionará a ação para a URL fornecida pela aplicação registrada. O Firefox irá, por padrão, perguntar ao usuário antes de executar a ação. +</p><p><img alt="Image:mpw-executar.png"> +</p> +<h4 id="Exemplo_2" name="Exemplo_2"> Exemplo </h4> +<pre><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<html> +<head> + <title>Exemplo de manipulador de protocolo - Teste</title> +</head> +<body> + <p>Ei, você já viu <a href="falso:URL%20de%20exemplo">isso</a> antes?</p> +</body> +</html> +</pre> +<h3 id="Manipulando" name="Manipulando"> Manipulando </h3> +<p>A próxima fase é manipular a ação. O navegador extrai o valor do atributo <code>href</code> do link ativado, combina esse valor com a URL fornecida pelo manipulador durante o registro e executa um HTTP GET na URL. Assim, usando os exemplos acima, o navegador executaria um GET na seguinte URL: +</p> +<pre>http://loremipsum.org/projetos/mpw.php?valor=falso:URL%20de%20exemplo +</pre> +<p>Programas no servidor podem extrair os parâmetros e executar a ação desejada. +</p><p>{{ Note("o valor <b>inteiro</b> do atributo <code>href</code> é passado ao programa do servidor. Isso significa que o programa no servidor deverá separar o protocolo dos dados.") }} +</p> +<h4 id="Exemplo_3" name="Exemplo_3"> Exemplo </h4> +<pre><?php +$value = ""; +if ( isset ( $_GET["valor"] ) ) { + $value = $_GET["valor"]; +} +?> + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<html> +<head> + <title>Exemplo de manipulador de protocolo</title> +</head> +<body> + <h1>Exemplo de manipulador de protocolo - Manipulador</h1> + <p>Esta página é chamada ao manipular uma ação do protocolo <code>falso:</code>. Dados enviados:</p> + <textarea> +<?php echo(urldecode($valor)) ?> + </textarea> +</body> +</html> +</pre> +<p><span class="comment">Categorias</span> +</p><p><span class="comment">Interwiki Language Links</span> +</p>{{ languages( { "en": "en/Web-based_protocol_handlers", "fr": "fr/Gestionnaires_de_protocoles_web", "ja": "ja/Web-based_protocol_handlers", "pl": "pl/Funkcje_obs\u0142ugi_protoko\u0142\u00f3w_przez_aplikacje_internetowe" } ) }} |