Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 18379|Resposta: 1

[WinForm] Controles de navegador semelhantes aos de navegador

[Copiar link]
Publicado em 26/02/2016 15:05:52 | | |

Agora usando o navegador web, coloque em um tópico independente, ao carregar a página, o programa ainda vai ficar travado, sem resposta, não sem resposta, e o uso da CPU vai disparar para 30%.
Não trava quando a página da web não carrega.

Além disso, usar InvokeMember("Click") para simular o clique em alguns links é inválido, e o ponto de interrupção pode ir para o HtmlElement correto, mas o clique simulado não responde.

Nem todos os cliques são inválidos, apenas alguns botões ou links são inválidos.


Existe alguma forma de resolver os problemas acima?
Se não, existe algum controle de terceiros que consome menos CPU, que suporta atribuir valores a caixas de texto, simular cliques e operar barras de rolagem.

WebKit .NET
Webkit-sharp
CefSharp
awesomium
OpenWebKitSharp
geckofx
MozNET Web Component





Anterior:Qual é mais poderoso, o kernel do navegador Gecko ou o WebKit?
Próximo:WebKit.net a solução para a exceção WebKitBrowser.dll
 Senhorio| Publicado em 26/02/2016 15:29:06 |
Se for isso, é simples, mas o site usado pelo projeto tem compatibilidade extremamente ruim com IE (reclamando: pessoalmente acho IE ruim e o suporte a padrões é muito ruim), então não tive escolha a não ser procurar outros controles similares para navegador e encontrei alguns bons controles de substituição:

GeokoFx: Pacote de Formulários para Windows do Firefox Geoko Engine, baixe no Google Endereço: http://code.google.com/p/geckofx/ Site oficial: http://www.geckofx.org/
WebKit.NET:webkit的.NET封装,下载地址:http://sourceforge.net/projects/webkitdotnet/

Originalmente, decidi usar o GeokoFx, porque o site usado pelo projeto é muito rápido de abrir com o Firefox, mas procurei por alguns dias e não descobri como passar um objeto js para o controle; quando descobri que o controle webbroswer do Qt também é um controle encapsulado do WebKit, decidi usar o WebKit, mas WebKit.NET não fornecia diretamente uma forma de passar o objeto, e então encontrei outra coisa boa:

open-webkit-sharp:对webkit.net的又一次封装,提供了很多新功能。google上下载地址:http://code.google.com/p/open-webkit-sharp/
O seguinte é muito simples: baixe open-webkit-sharp, copie todos os arquivos da pasta Core e da pasta References para o diretório do seu projeto, depois abra seu projeto e adicione o OpenWebKitSharp.dll de referência e WebKit.Interop.dll (se seu projeto estiver rodando no .NET Framework 2.0 ou 3.5, faça referências Binary_ Esses dois arquivos na pasta NET2, no caso do NET4.0, referem-se a essas duas dlls na pasta Binary); Depois há a Toolbox - > Seleções - > OpenWebKitSharp.dll de seleção e arrastar WebKitBrowser da Toolbox para o seu formulário. É um grande passo agora, mas para evitar todo tipo de erro ao usá-lo, precisamos instalar dois arquivos de suporte primeiro:
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com