aboutsummaryrefslogtreecommitdiff
path: root/files/pt-pt/manipuladores_de_protocolo_web/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/pt-pt/manipuladores_de_protocolo_web/index.html')
-rw-r--r--files/pt-pt/manipuladores_de_protocolo_web/index.html97
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>&lt;a href="mailto:webmaster@exemplo.com"&gt;Web Master&lt;/a&gt;
+</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>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"&gt;
+&lt;html&gt;
+&lt;head&gt;
+ &lt;title&gt;Exemplo de manipulador de protocolo - Registro&lt;/title&gt;
+ &lt;script type="text/javascript"&gt;
+ navigator.registerProtocolHandler("falso",
+ "http://loremipsum.org/projetos/mpw.php?valor=%s",
+ "Falso Mail");
+ &lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+ &lt;h1&gt;Exemplo de manipulador de protocolo&lt;/h1&gt;
+ &lt;p&gt;Esta página instalará um manipulador de protocolos para o protocolo &lt;code&gt;falso:&lt;/code&gt;.&lt;/p&gt;
+&lt;/body&gt;
+&lt;/html&gt;
+</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>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"&gt;
+&lt;html&gt;
+&lt;head&gt;
+ &lt;title&gt;Exemplo de manipulador de protocolo - Teste&lt;/title&gt;
+&lt;/head&gt;
+&lt;body&gt;
+ &lt;p&gt;Ei, você já viu &lt;a href="falso:URL%20de%20exemplo"&gt;isso&lt;/a&gt; antes?&lt;/p&gt;
+&lt;/body&gt;
+&lt;/html&gt;
+</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>&lt;?php
+$value = "";
+if ( isset ( $_GET["valor"] ) ) {
+ $value = $_GET["valor"];
+}
+?&gt;
+
+&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"&gt;
+&lt;html&gt;
+&lt;head&gt;
+ &lt;title&gt;Exemplo de manipulador de protocolo&lt;/title&gt;
+&lt;/head&gt;
+&lt;body&gt;
+ &lt;h1&gt;Exemplo de manipulador de protocolo - Manipulador&lt;/h1&gt;
+ &lt;p&gt;Esta página é chamada ao manipular uma ação do protocolo &lt;code&gt;falso:&lt;/code&gt;. Dados enviados:&lt;/p&gt;
+ &lt;textarea&gt;
+&lt;?php echo(urldecode($valor)) ?&gt;
+ &lt;/textarea&gt;
+&lt;/body&gt;
+&lt;/html&gt;
+</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" } ) }}