Ir ao conteúdo
  • Cadastre-se

Como ocultar uma "div" que não está em um link incorporado à minha página


Posts recomendados

Olá!

Eu tenho um código bem básico em html que apenas abre (com "iframe") um conteúdo de uma página da Microsoft.
No entanto, ao testar, eu percebi que toda vez que abria a página e o conteúdo do link externo, era exibido uma barra logo abaixo com opções de "compartilhar" e tudo mais (coisa da própria Microsoft). Eu queria impedir que essa barra fosse exibida, ou simplesmente ocultá-la logo após carregar a página. 
Eu entrei no código deste objeto e exclui a "div" e ele sumiu.
Tentei de várias maneiras executar javascripts que pudessem ocultar a div, mas acredito que o problema é que o script está sendo executado antes de carregar a div, pois ela é exibida no final do carregamento da página (que demora uns 5 segundos).

É possível ocultar esta div gerada ao incorporar o link, mesmo não estando no meu código-fonte?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@TiagoSR1 Olá,  seja bem vindo em nosso Clube do Hardware.

 

Não sei se entendi bem a dúvida, mas você pode pegar valores ou manipular elementos de uma página dentro de um iframe usando o jQuery ou javascript puro.

 

Por exemplo:

 

<iframe name="iframe-microsoft" id="iframe-microsoft" src="pagina-da-microsoft.html" />

Então, depois  você vê no código-fonte o ID ou class do elemento que quer manipular e aplica no javascript.

Vou deixar em jQuery por ser mais fácil.

 

$(document).ready(function(){
//informa o ID do iframe e que quer pegar um conteúdo, encontra com find()                    
   $('#iframe-microsoft').contents().find('#div-que-quer-esconder').hide();
  
});

Seria algo parecido com isso, não garanto que vai funcionar. Mas pelo menos dei um norte.

Link para o comentário
Compartilhar em outros sites

Apenas para detalhar mais a minha dúvida...
Eu tenho um link de um site e preciso que as pessoas abram este link dentro de uma rede local, mas que este link ficasse oculto, pois é público e tem informações restritas. 
A solução que encontrei foi incorporá-lo em uma página HTML e dessa forma, cada usuário entraria na página pelo próprio endereço de ip e poderia visualizar as informações do site normalmente. 
Porém, quando o usuário abre a página, o próprio site exibe uma barra no canto inferior com opções de "Compartilhar" e acaba exibindo o link que gostaria de ocultar. 
Quando fui em "inspecionar elemento" para analisar esta "barra", vi que era uma "div" e cheguei a deletá-la, e a barra desapareceu. (Até então eu nunca tinha mexido com html)
A única coisa que preciso é de um script que faça isso que eu fiz manualmente, antes ou imediatamente após a barra aparecer na tela para que o usuário não possa clicar na opção "compartilhar" e poder ter acesso ao link.

Para executar o código o jQuery apenas preciso colocá-lo entre as instruções de script normalmente? (<script> </script>)

Exemplo:

Este é código:


<HTML>

<HEAD>
<TITLE> Teste </TITLE>
</HEAD>

<BODY>
<IFRAME name = "link" id = "link" src="https://app.powerbi.com/view?r=eyJrIjoiYjE4NzlkY2MtNjk1My00ZmVlLThmOGYtZGVmMTE4YjAwNDZkIiwidCI6IjliYTYxY2JiLWUyMWYtNDRhMS1hYTkxLWM1ZTEwMmJhNzA5ZiJ9" width="1368" height="600" scrolling="auto" frameborder="0" align="center"></IFRAME> 

</BODY>


</HTML>



Faça um teste, se puder, com ele. E veja a barra aparecendo logo abaixo e verifique o código da "div" para tentar ocultá-la ou impedí-la de aparecer.



E obrigado, amigo!
Sei que estou no meio de grandes especialistas e isto é muito bom!. haha

Link para o comentário
Compartilhar em outros sites

  • Moderador

@TiagoSR1

6 minutos atrás, TiagoSR1 disse:

Para executar o código o jQuery apenas preciso colocá-lo entre as instruções de script normalmente? (<script> </script>)

Sim, mas pelas boas práticas o javascript fica melhor se colocar antes de fechar o <body>

Além disso, não esqueça de importar o jQuery antes do seu código.

 

Entre no site do jquery e baixe a versão mais recente.

 

Você pode usar tanto o CDN quanto o arquivo baixado no seu servidor.

 

Eu uso o CDN:

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

 

Link para o comentário
Compartilhar em outros sites

DiF,

Eu fiz um teste e não deu certo.
Veja na imagem, o código é conforme editei o post anterior e o "div" a ser ocultado é esse aí em destaque. Excluindo ele, resolvo a minha vida. =D
Só falta um script para fazer isso sempre, para qualquer usuário que for abrir a página.
 

Sem título.jpg

Link para o comentário
Compartilhar em outros sites

Você não vai conseguir remover isso através de Javascript, por segurança dos browsers.

 

Qual o problema aqui que causa falhas de segurança?

1. Imagine que você cria um iframe para o facebook (e se quiser, ainda pode esconder esse iframe e seu usuário nem sequer vai saber que o facebook dele abriu na sua página).

2. Agora você usa javascript para acessar o chat do usuário (capturar o div do chat).

3. Com isso, você consegue ler as mensagens dele, e então enviar para um servidor seu.

Poderia inclusive acessar o campo de publicar mensagem e publicar algo em nome dele, acessar e alterar suas configurações etc!

 

Enfim, note que se você puder acessar um iframe de um site externo, você pode fazer qualquer coisa! Logo, você não pode. O browser simplesmente não permite. Iframes para páginas no seu próprio servidor? Tranquilo, já que essas páginas são suas, você teria acesso de qualquer forma... páginas externas, jamais! Leia mais sobre same-origin policy. Isso pode ser burlado através de CORS, mas não, você não poderá usar CORS neste caso.

 

Para usar CORS a própria Microsoft teria que fazer o servidor dela retornar um cabeçalho dizendo que teu site tem acesso à pagina dela, como se estivessem no mesmo domínio. A utilidade do CORS é quando você está desenvolvendo serviços que rodam sob diferentes domínios e que devem se comunicar (por exemplo, dar ao domínio meujogo.com acesso ao domínio api.meujogo.com, ou servidor05.meujogo.com). Você tem que ter controle (acesso autenticado) de todos os sites envolvidos.

 

O que você pode fazer?

Talvez você consiga fazer isso com CSS. Você pode colocar algum div em cima do iframe cobrindo apenas a parte que aparece a barra de compartilhar.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Verdade, não tinha pensado dessa forma. Sou muito leigo no assunto.

 

Mas como meu objetivo é apenas impedir a visualização da barra, se colocar um objeto por cima funciona?

 

Mas como é um conteúdo incorporado com o "iframe" se eu fizer isso, o conteúdo não será ajustado pra uma área limpa na página?

 

Neste caso, como posso colocar algo por cima da barra para impedir a visualização dela?

Link para o comentário
Compartilhar em outros sites

Um exemplo simples:

<html>
<head>
  <title>Teste</title>
  <style type="text/css">
    #hide-share {
      position: absolute;
      background: #EAEAEA;
      width: 30px;
      height: 20px;
      left: 1300px;
      top: 580px;
    }
    #link {
      width: 1368px;
      height: 600px;
    }
  </style>
</head>
<body>

<iframe
  name="link"
  id="link"
  src="https://app.powerbi.com/view?r=eyJrIjoiYjE4NzlkY2MtNjk1My00ZmVlLThmOGYtZGVmMTE4YjAwNDZkIiwidCI6IjliYTYxY2JiLWUyMWYtNDRhMS1hYTkxLWM1ZTEwMmJhNzA5ZiJ9"
  scrolling="auto"
  frameborder="0"
  align="center">
</iframe>
<div id="hide-share"></div>

</body>
</html>

Longe de perfeito, mas funciona. Agora, seu objetivo é esconder o botão de compartilhar para as pessoas não terem acesso ao link, mas a solução é completamente inútil... hoje em dia quase todo mundo sabe inspecionar elemento, e a partir daí basta pegar o link do src do iframe...

 

Para esconder a barra inteira, use este CSS pro #hide-share, em vez do anterior:

#hide-share {
  position: relative;
  width: 1368px;
  height: 37px;
  background: white;
  top: -37px;
}

 

Link para o comentário
Compartilhar em outros sites

Estou ciente, mas foi a única solução que encontrei.

Mas o acesso será apenas com pessoas dentro da rede e dificultando um pouco o acesso ao link já é suficiente.

O ideal seria ocultar totalmente, com senha e tudo. haha

Mas muito obrigado pela ajuda, obrigado mesmo! ;D

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...