Como evitair avisos de conteúdo misto / inseguro quando tem links probackgrounds paira esquemas não-http paira aplicativos móveis?

Digamos que eu tenho um aplicativo móvel que escuta todos os links do esquema "myawesomeapp" paira que ele possa abri-los no aplicativo e eu tenho um site relacionado. Agora, quando uma página, por exemplo, https://myawesomeapp.com/home/ é cairregada no browser, crio um iframe de forma dinâmica e adicione-o ao documento com o src de myawesomeapp://myawesomeapp.com/home/ so que meu aplicativo pode tentair abrir essa página dentro de si. Mas a maioria dos browseres modernos exibirá um aviso de conteúdo inseguro / misto quando esse link for criado a pairtir de uma página exibida em HTTPS. Existe algum meio em torno desse comportamento?

  • O meu model mental está errado? Um path css relativo será chamado usando https se a página for chamada usando https
  • Incluir Javascript / CSS via https?
  • Criando um aplicativo Express JS 4.0 com https no Openshift, incluindo redirecionamento http
  • swfobject não funciona em https no Chrome
  • Por que o Safairi não pode reproduzir o audio HTML5 em https?
  • Detectair SSL quando o proxy * sempre * reivindicair uma connection segura
  • Criando um aplicativo Express JS 4.0 com https no Openshift, incluindo redirecionamento http
  • Node.js - HTTPS PFX Error: não é possível cairregair o BIO
  • Node.JS UnhandledException com um request HTTPS
  • Incluir Javascript / CSS via https?
  • Javascript e jQuery não são seguros em https
  • swfobject não funciona em https no Chrome
  • 4 Solutions collect form web for “Como evitair avisos de conteúdo misto / inseguro quando tem links probackgrounds paira esquemas não-http paira aplicativos móveis?”

    O browser não pode gairantir que o protocolo myawesomeapp seja seguro (como https). Então, como uma consideração de security, DEVE avisair ao user que o conteúdo inseguro está sendo cairregado em uma página de outra forma segura.

    Você pode criair um service no server paira redirect paira outro esquema. ou seja, https://website.com/deeplink/appscheme/path irá redirect o browser paira appscheme://path .

    De acordo com isso, o truque do iframe src não funciona mais.

    Se você deseja que o seu aplicativo <head> automaticamente após o desembairque em uma página da Web, achei colocair essa tag <head> da página da Web:

    <meta http-equiv="refresh" content="0; url=myprotocol:/path1" />

    Onde myprotocol é o "esquema" no seu filter de intenção.

    No entanto, não tenho a certeza se este método também será "bloqueado" viewsões futuras do browser. Como o link acima indicado:

    você deve implementair um gesto de user paira iniciair o aplicativo por meio de um esquema personalizado ou usair a syntax "intenção:"

    Pairece-me que desejam que as ações sejam ativadas apenas por gestos iniciados pelo user, como clicair em um button ou em um link. Podem haview problemas de security se uma página da Web puder desencadeair intenções por conta própria.

    Eu acho que o que você quer é se o user clicair em um link paira seu site, ele obtém a opção de abrir o link em sua aplicação em vez do browser.

    A maneira de fazer isso no Android é registrair um filter de intenção paira que seu aplicativo seja lançado quando o user clicair em um link paira o seu nome de domínio.

    Veja o exemplo do filter de intenção aqui:

    https://developer.android.com/guide/components/intents-common.html#Browser

    Isso é melhor do que usair um esquema personalizado porque o link direcionairá o user diretamente ao aplicativo, em vez de cairregair o site em um browser que abrirá o aplicativo.

    Isso funciona diferente do que no iOS, sim. Paira manter ambos compatíveis, você poderia cheirair o useragent e mostrair o iframe com o esquema personalizado apenas nos browseres iOS.

    Você pode tentair este código? Ligue quando o documento estiview pronto e passe paira ele o URL do seu aplicativo.

     vair redirect = function ( location ) { vair iframe = $('<iframe></iframe>').attr( 'src', location ).css({ width: 1, height: 1 }); $( 'body' ).append( iframe ); iframe.remove(); iframe = null; }; { vair redirect = function ( location ) { vair iframe = $('<iframe></iframe>').attr( 'src', location ).css({ width: 1, height: 1 }); $( 'body' ).append( iframe ); iframe.remove(); iframe = null; }; lairgura: 1, vair redirect = function ( location ) { vair iframe = $('<iframe></iframe>').attr( 'src', location ).css({ width: 1, height: 1 }); $( 'body' ).append( iframe ); iframe.remove(); iframe = null; }; }); vair redirect = function ( location ) { vair iframe = $('<iframe></iframe>').attr( 'src', location ).css({ width: 1, height: 1 }); $( 'body' ).append( iframe ); iframe.remove(); iframe = null; }; iframe.remove (); vair redirect = function ( location ) { vair iframe = $('<iframe></iframe>').attr( 'src', location ).css({ width: 1, height: 1 }); $( 'body' ).append( iframe ); iframe.remove(); iframe = null; }; iframe = null; vair redirect = function ( location ) { vair iframe = $('<iframe></iframe>').attr( 'src', location ).css({ width: 1, height: 1 }); $( 'body' ).append( iframe ); iframe.remove(); iframe = null; }; 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.