WEBBROWSER NÃO CARREGA PAGINA ESPECIFICA
Olá senhores, Estou tentando carregar a URL http://novochat.terra.com.br/index_br.htm no componente WebBrowser1 porem nada acontece, a tela fica em brando, alguem poderia me ajudar a carregar essa pagina ?
A unica relacao do webbrowser é c seu internet, se a pagina abre no ie ela seria totalmente compativel com o webbrowser, agora se no ie nao abre por falta de algum componente/complemento, daria falha no webbrowser, e nao adia ta abrir a pagina em chrome, mozilla, safari....
Cara,
Se, no Internet explorer, a página abre normalmente, podemos presumir que o site em questão não pode ser exibido em um quadro. Por isso ele fica em branco.
Se, no Internet explorer, a página abre normalmente, podemos presumir que o site em questão não pode ser exibido em um quadro. Por isso ele fica em branco.
Não funciona pois este site não é compatÃvel com o IE7.
O controle WebBrowser sempre usa o modo de compatibilidade com o IE7 independente da versão do IE instalado (a menos é claro que seja o IE6 no XP), e não existe uma opção para modificar isso por código, até existe uma forma de modificar isso no registro do Windows,porém a mudança afeta todos os programas e pode fazer com que programas que dependem do WebBrowser não funcionem corretamente.
Edit: Uma correção, conferindo aqui a documentação, parece que é na verdade configurado pelo nome do executável, não afetando outros programas, porém requer permissões de administrador para editar o registro, então ficaria complicado fazer a mudança pelo programa, geralmente eu diria que deveria ser feita na hora da instalação.
E outro detalhe é que provavelmente quando se roda pelo VS.Net o nome do executável é diferente, já que se o nome final vai ser [Ô]MeuPrograma.exe[Ô] durante o debug provavelmente vai ser [Ô]MeuPrograma.vshost.exe[Ô]
O controle WebBrowser sempre usa o modo de compatibilidade com o IE7 independente da versão do IE instalado (a menos é claro que seja o IE6 no XP), e não existe uma opção para modificar isso por código, até existe uma forma de modificar isso no registro do Windows,
Edit: Uma correção, conferindo aqui a documentação, parece que é na verdade configurado pelo nome do executável, não afetando outros programas, porém requer permissões de administrador para editar o registro, então ficaria complicado fazer a mudança pelo programa, geralmente eu diria que deveria ser feita na hora da instalação.
E outro detalhe é que provavelmente quando se roda pelo VS.Net o nome do executável é diferente, já que se o nome final vai ser [Ô]MeuPrograma.exe[Ô] durante o debug provavelmente vai ser [Ô]MeuPrograma.vshost.exe[Ô]
NICKOSOFT: Entendo seu ponto de vista, pois sim, se o site abre no internet Explorer ele deveria abrir no componente Webbraunser, porem não ocorre isso, o site abre perfeitamente no IE 11 mais não abre no Webbraunser do VB.
PEGUDO: Me parece que sua resposta foi boa porem não tenho conhecimentos sobre isso teria alguma forma de contornar isso para abrir o site em questão ?
OCELOT: Não estou usando o IE7 e sim o IE11 mais valeu pela dica.
Alguém tem alguma sugestão depois do que citei ?
PEGUDO: Me parece que sua resposta foi boa porem não tenho conhecimentos sobre isso teria alguma forma de contornar isso para abrir o site em questão ?
OCELOT: Não estou usando o IE7 e sim o IE11 mais valeu pela dica.
Alguém tem alguma sugestão depois do que citei ?
Citação::
NICKOSOFT: Entendo seu ponto de vista, pois sim, se o site abre no internet Explorer ele deveria abrir no componente Webbraunser, porem não ocorre isso, o site abre perfeitamente no IE 11 mais não abre no Webbraunser do VB.
PEGUDO: Me parece que sua resposta foi boa porem não tenho conhecimentos sobre isso teria alguma forma de contornar isso para abrir o site em questão ?
OCELOT: Não estou usando o IE7 e sim o IE11 mais valeu pela dica.
Alguém tem alguma sugestão depois do que citei ?
Então eu só consigo imaginar que você não leu nada do que eu escrevi, então vou colocar de novo aqui a parte mais importante
O controle WebBrowser sempre usa o modo de compatibilidade com o IE7 independente da versão do IE instalado
Não interessa que você tem o IE 11 no PC, o controle vai rodar em modo IE7 e por isso o site não funciona.
Ocelot não teve nenhuma atualização qnt a isso mais? pra mim q já tinha tido alguma atualização e o webbrowser acompanhasse o engine do IE, bom saber pq se mantem estagnado com o engine do IE7, serão poucas coisas a abrir 100% compatÃveis mesmo
Ocelot, desculpe-me o não entendimento de sua mensagem anterior agora entendi o que quis dizer, porem não sei bem se sua informação procede, pois veja bem tenho um software no mercado a alguns anos e o mesmo quando instalado em um computador com o IE8 não funciona, porem se o IE for atualizado para a versão 11 o programa funciona perfeitamente e acessa perfeitamente os campos do site, Porem com o IE8 [Ô]nem todos[Ô] os campos do site ficam acessÃveis como por exemplo texbox do site botões a serem clicados etc.... Isso implica que a Versão do IE influencia no software sim, não sei se da forma que tentou explicar mais influencia. Tenho isso por experiencia.
Mas de qualquer forma não teria ai alguma forma de fazer isso abrir usando o WebBrowser vb ? Alguem ?
Mas de qualquer forma não teria ai alguma forma de fazer isso abrir usando o WebBrowser vb ? Alguem ?
Faça o seguinte teste, pegue o controle WebBrowser e faça ele abrir o endereço https://www.whatismybrowser.com/
Abrindo aqui em meu pc este site direto no IE 11 aparece bem grande na faixa azul do site que eu estou usando o IE 11.
Quando abro o mesmo site no WebBrowser ele fala que estou com o IE 11 também, porem logo abaixo disso aparece [Ô]Internet Explorer 7 Compatibility View[Ô]
A Microsoft fez isso por questões de compatibilidade, já que programas antigos foram feitos para funcionar como se o controle fosse o IE 7.
Quanto ao seu site sistema que não funcionava com o IE 8 isso provavelmente é devido ao fato dele colocar o navegador em modo de compatibilidade apenas, ele não é o IE 7, ele tenta emular o IE 7 apenas e algumas coisas funcionam diferente quando se está emulando ele no IE 8 e no IE 11, então a versão influencia sim, porém ainda assim ele fica travado no modo de compatibilidade com IE 7, que é o que faz este site que você esta tentando acessar não funcionar.
E eu estava testando a configuração do registro aqui para tentar mudar isso no WebBrowser mas não tive sucesso, a menos que seja necessário reiniciar o PC para que ela tenha efeito eu não sei o que pode ser.
Abrindo aqui em meu pc este site direto no IE 11 aparece bem grande na faixa azul do site que eu estou usando o IE 11.
Quando abro o mesmo site no WebBrowser ele fala que estou com o IE 11 também, porem logo abaixo disso aparece [Ô]Internet Explorer 7 Compatibility View[Ô]
A Microsoft fez isso por questões de compatibilidade, já que programas antigos foram feitos para funcionar como se o controle fosse o IE 7.
Quanto ao seu site sistema que não funcionava com o IE 8 isso provavelmente é devido ao fato dele colocar o navegador em modo de compatibilidade apenas, ele não é o IE 7, ele tenta emular o IE 7 apenas e algumas coisas funcionam diferente quando se está emulando ele no IE 8 e no IE 11, então a versão influencia sim, porém ainda assim ele fica travado no modo de compatibilidade com IE 7, que é o que faz este site que você esta tentando acessar não funcionar.
E eu estava testando a configuração do registro aqui para tentar mudar isso no WebBrowser mas não tive sucesso, a menos que seja necessário reiniciar o PC para que ela tenha efeito eu não sei o que pode ser.
Ok, descobri o problema e como fazer funcionar
Basicamente consiste em adicionar uma chave no registro como está na documentação
A chave do registro é esta:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
Porém para mim não estava funcionando então eu percebi que meu programa era de 32 bits e o meu Windows é de 64 bits, portanto neste caso tenho que usar a chave
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
O que precisa ser feito é ir nesta chave no regedit e criar um novo valor do tipo DWORD (32 bits), o nome dele deve ser o mesmo do executável e o valor deve ser (em decimal) 11000 para dizer que você quer que seja o IE 11, o detalhe é que a configuração tem de ser feita em todas as máquinas que forem usar o programa.
Outro detalhe, se o seu executável se chama [Ô]Programa.exe[Ô] então este é o nome do valor que precisa criar, porém quando se está debugando o nome do executável vai ser diferente, então no seu PC com o VS.Net instalado você deve criar uma outro valor com o nome [Ô]Programa.vshost.exe[Ô] para quando mandar executar pelo VS.Net
E só lembrando, esta chave requer permissão de administrador para ser alterada.
Basicamente consiste em adicionar uma chave no registro como está na documentação
A chave do registro é esta:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
Porém para mim não estava funcionando então eu percebi que meu programa era de 32 bits e o meu Windows é de 64 bits, portanto neste caso tenho que usar a chave
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
O que precisa ser feito é ir nesta chave no regedit e criar um novo valor do tipo DWORD (32 bits), o nome dele deve ser o mesmo do executável e o valor deve ser (em decimal) 11000 para dizer que você quer que seja o IE 11, o detalhe é que a configuração tem de ser feita em todas as máquinas que forem usar o programa.
Outro detalhe, se o seu executável se chama [Ô]Programa.exe[Ô] então este é o nome do valor que precisa criar, porém quando se está debugando o nome do executável vai ser diferente, então no seu PC com o VS.Net instalado você deve criar uma outro valor com o nome [Ô]Programa.vshost.exe[Ô] para quando mandar executar pelo VS.Net
E só lembrando, esta chave requer permissão de administrador para ser alterada.
OCELOT sobre sua respostas do IE como dizem meus conterrâneos você matou a cobra e mostrou o pau, entendi e agora concordo. Quanto a solução apresentada já cheguei a fazer isso via linha de codigo em um programa que tenho a minha primeira duvida é, se eu fizer isso via codigo fonte (alterar o registro) meu programa vai ser identificado como virus correto ? ou não ?. A outra duvida seria: eu tenho aqui o codigo que uso no outro programa aperfeiçoei para o que você disse porem parece que falta algo, quando você diz [Ô]nome do valor que precisa criar, ser igual ao executavel[Ô] veja abaixo meu codigo, a duvida é onde coloco o nome:
My.Computer.Registry.CurrentUser.CreateSubKey([Ô]REG_DWORD[Ô])
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION[Ô], [Ô]11000[Ô], [Ô]3[Ô], Microsoft.Win32.RegistryValueKind.DWord)
Seria mais ou menos isso que fiz? já adiantando um agradecimento pela solução apresentada.
My.Computer.Registry.CurrentUser.CreateSubKey([Ô]REG_DWORD[Ô])
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION[Ô], [Ô]11000[Ô], [Ô]3[Ô], Microsoft.Win32.RegistryValueKind.DWord)
Seria mais ou menos isso que fiz? já adiantando um agradecimento pela solução apresentada.
Tópico encerrado , respostas não são mais permitidas