Como conectar-se a páginas da Web externas (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Saiba como conectar-se a páginas da Web externas e exibi-las em seu aplicativo.

Pré-requisitos

Instruções

Conectando-se a páginas da Web externas

Para criar um link para uma página da Web externa, basta adicionar um link ao seu HTML. Este exemplo cria um link para www.bing.com. Quando você clica no link, ele abre no navegador da Web (e não em seu aplicativo).


<p><a href="https://www.bing.com">Search the web</a></p>

Exibindo uma página da Web externa em seu aplicativo

Seu aplicativopode exibir uma página externa em um iframe, mas você não pode navegar aa página de nível superior para uma página da Web externa.

Hh780594.wedge(pt-br,WIN.10).gifExibir uma página da Web externa em seu aplicativo

  1. Crie um iframe para exibir a página da Web. Defina o iframe atributo name do elemento.

    
    <iframe name="targetFrame">
    </iframe>
    
  2. Crie um link para um site da Web externo. Defina o seu atributo target com o nome do iframe que você criou na etapa anterior.

    
    <p><a href="https://www.bing.com" target="targetFrame" >Search the web</a></p>
    
    <iframe name="targetFrame">
    </iframe>
    

    Quando você executa o aplicativo e clica no link, o link abre dentro do seu aplicativo. A página é executada no contexto Web e tem acesso limitado ao sistema se comparada a páginas incluídas no pacote do seu aplicativo.

    Quando você estiver exibindo uma página da Web externa em um iframe, é recomendável fornecer uma página de erro personalizada no caso de existir algum problema com a página. Para obter um exemplo de como fazer isso, veja o Exemplo de esquemas XHR, manipular erros de navegação e URL.

    Observação  Por questões de desempenho, aplicativos da Windows Store podem armazenar conteúdo remoto em cache indefinidamente. Como resultado, talvez seu aplicativo não mostre atualizações recentes de script ou CSS. Desinstalar e reinstalar o aplicativo limpa o cache. Outras soluções incluem um parâmetro aleatório na cadeia de caracteres de consulta ou a configuração do servidor Web de forma que o armazenamento em cache não ocorra. Para saber mais, consulte Como impedir o armazenamento em cache no Internet Explorer.

     

Sobre contextos locais e Web

Páginas que você inclui no próprio aplicativo, geralmente são executados no contexto local do aplicativo. Quando você usa um iframe para navegar até uma página remota, essa página é executada no contexto Web e tem acesso limitado ao seu sistema.

Os scripts e as páginas de contexto local têm acesso a recursos diferentes das páginas e scripts no contexto Web. Eles podem acessar o Tempo de Execução do Windows e executar solicitações de XHR entre domínios, por exemplo. Tanto as páginas locais, como as páginas de contexto Web podem acessar a Biblioteca do Windows para JavaScript.

Para mais informações sobre os diferentes recursos disponíveis para páginas de contexto local e Web, consulte Recursos e restrições por contexto.

Você pode usar a seção ApplicationContentUriRules do manifesto do pacote do aplicativo para dar a uma página no contexto da Web acesso aos dispositivos de geolocalização do seu sistema (caso o aplicativo tenha permissão para acessar essa funcionalidade), assim como acesso à área de transferência.

Hh780594.wedge(pt-br,WIN.10).gifPara dar acesso adicional a uma página no contexto Web

  1. Para dar acesso adicional a uma página no contexto Web, você cria uma regra Uri de Conteúdo. No explorador de soluções do Microsoft Visual Studio Express, clique com o botão direito do mouse no arquivo package.appxmanifest do aplicativo e selecione Visualizar Designer. O criador do manifesto será exibido.

  2. Na coluna URI, especifique o URI da página da Web a incluir.

    Há várias formas de especificar uma correspondência de URI:

    • Você pode especificar um nome de host exato
    • Você pode especificar um nome de host para o qual um URI com qualquer sobdomínio desse nome de host é incluído ou excluído
    • Você pode especificar um URI exato
    • Você pode especificar um URI exato que podem conter uma propriedade de consulta
    • Você pode especificar um caminho parcial e usar um curinga para indicar uma extensão de arquivo específica para uma regra de inclusão.
    • Você pode usar caminhos relativos para regras de exclusão, mas não para regras de inclusão.

    Para este exemplo, defina o URI como https://www.bing.com/*.

    Observação  Se você tiver mais de um subdomínio, deverá usar um caractere curinga para cada subdomínio. Por exemplo, "https://*.microsoft.com" corresponde a "https://"any".microsoft.com", mas não a "https://"this"."any".microsoft.com".

     

  3. O menu suspenso Regra permite especificar se o URI deve ser incluído ou excluído. Defina-o como incluir.

  4. Clique em Adicionar novo URI para adicionar a regra. Por trás das cenas, o criador adiciona um novo elemento Rule à seção ApplicationContentUriRules do seu arquivo de manifesto do pacote.

          <ApplicationContentUriRules>
            <Rule Match="https://www.bing.com/*" Type="include" />
          </ApplicationContentUriRules>
    

Você não pode navegar de um página de contexto Web para uma página de contexto local, a menos que você chame o MSApp.addPublicLocalApplicationUri de uma página de contexto local e passe-a para o URI da página para a qual você quer que as páginas de contexto Web possam navegar. Por exemplo, se você quiser que uma página de contexto Web possa navegar até uma página de seu aplicativo chamada "page2.html", use este código:

MSApp.addPublicLocalApplicationUri("page2.html");

As páginas de contexto Web agora podem navegar para page2.html. Você tem que chamar esse método uma vez para cada página de contexto local que você quer que seja acessível para páginas de contexto Web.

Aviso   Se você tiver uma página que aceita parâmetros de consulta e permitir que qualquer lugar na Web navegue até ela, a página da Web externa poderá passar parâmetros de consulta maliciosos.

 

Tópicos relacionados

Recursos e restrições por contexto