none
webbrowser com erro? RRS feed

  • Pergunta

  • Boa tarde galera, estou utilizando um WebBrowser no meu projeto e Carrego um link Embed do Youtube do banco de dados e jogo no webbrowser;

      WebBrowser1.Navigate(i.Link)

    Ai por exemplo, jogaria um link assim https://www.youtube.com/embed/0YlMeWRzFuU (peguei um vídeo aleatório) e eu executo a aplicação, e quando chega na linha onde usa  o Navigate, trava minha aplicação sem mostrar nenhum erro

    O Aplicativo Está no Modo de Interrupção
    Seu aplicativo entrou em um estado de interrupção, mas não há nenhum código para mostrar porque todos os threads executaram código externo (geralmente código do sistema ou estrutura)

    Mesmo eu clicando em continuar, permanecia na Interrupção

    Achei que era problema de memória (porque tinha muita coisa aberta), fechei tudo e continuou, depois achei que seria problema no link que eu teria que pegar não só o link más o <iframe> todo e também não funcionou... O problema é não aparecer o erro 

    Criei um novo projeto do 0 adicionei um webbrowser e apareceu este erro;

    'Tentando execução gerenciada dentro do bloqueio do Carregador do sistema operacional. Não tente executar código gerenciado dentro de um DllMain ou de uma função de inicialização de imagem, pois isso causará a parada do aplicativo.'

    Será que pode ser meu VS bugado? ou até mesmo meu PC? 

    quarta-feira, 8 de novembro de 2017 02:41

Respostas

Todas as Respostas

  • Fiz um teste aqui e alguns erros ocorreram ao dar o comando: 

    webBrowser1.Navigate("https://www.youtube.com/embed/0YlMeWRzFuU");

    Este foi o primeiro \/

    Posso estar enganado mais creio que o componente webBrowser por usar o Internet Explorer do seu computador, não ofereça suporte para isso.

    Uma solução é utilizar o motor "Geckofx45" , funcionou aqui tranquilo utilizando o "GeckoWebBrowser". É fácil de instalar, é praticamente idêntico ao webBrowser na parte da programação e tem muito mais suporte !

    Segue o link de como instalar e utilizar o "GeckoWebBrowser" :

     http://www.technical-recipes.com/2016/using-the-gecko-web-browser-in-a-c-winforms-project/

    Espero ter ajudado ! :)

    att,


    MateusVieiraGDS

    quarta-feira, 8 de novembro de 2017 05:14
  • Olá,

    Complementando a resposta do colega, eu gostaria de indicar o CEFSharp:

    GitHub - cefsharp/CefSharp: .NET (WPF and Windows Forms) bindings for the Chromium Embedded Framework

    Ele traz pro .NET o motor do projeto Chromium, no qual o Google Chrome é baseado.


    Herbert Lausmann

    • Marcado como Resposta Nowlights quinta-feira, 9 de novembro de 2017 17:55
    quarta-feira, 8 de novembro de 2017 13:10
  • Boa tarde Mateus.Vieira,

    Tentei utilizar o exemplo que me passou, faço exatamente como dita o 'tutorial';

       Xpcom.Initialize("Firefox")

    Ao iniciar aparece o seguinte erro; 

    XPCOM.CS não encontrado

    System.DllNotFoundException: 'Não é possível carregar a DLL 'xul': Não foi possível encontrar o módulo especificado. (Exceção de HRESULT: 0x8007007E)'

    quarta-feira, 8 de novembro de 2017 15:16
  • Optei por usar CefSharp (Chromium) video embed do youtube fucionou tranquilamente, agora videos .mp4 nao;

    Aparece o player, más o video não, o que estou a fazer errado?

    Private WithEvents browser As ChromiumWebBrowser
        Public Sub New()
    
            Dim Html As String = "
    <html>
    <head>
    <style type = ""text/css"" >
          video.non - downloadable : -webkit-media-controls-enclosure{
           overflow: hidden;
          }
          video.non-downloadable: -webkit-media-controls-panel{
           width: calc(100% + 32px);
          }
    </style>
    </head>
    <body>
    
    <video width = ""100%"" height=""100%"" controls=""controls"" autoplay=""autoplay"" Class=""non-downloadable"">
    <source src = ""http://www.html5videoplayer.net/videos/toystory.mp4"" type=""video/mp4"">
    </video>
    
    
    </body>
    </html>"
    
    
    
    
            InitializeComponent()
    
            Dim settings As New CefSettings()
            CefSharp.Cef.Initialize(settings)
    
            browser = New ChromiumWebBrowser("http://www.html5videoplayer.net/videos/toystory.mp4") With {
                .Dock = DockStyle.Fill
                        }
            Me.Controls.Add(browser)
            browser.LoadHtml(Html, False)
        End Sub

       Private WithEvents browser As ChromiumWebBrowser
        Public Sub New()

            Dim Html As String = "
    <html>
    <head>
    <style type = ""text/css"" >
          video.non - downloadable : -webkit-media-controls-enclosure{
          
          }
          video.non-downloadable: -webkit-media-controls-panel{
           width: calc(100% + 32px);
          }
    </style>
    </head>
    <body>

    <video width = ""100%"" height=""100%"" controls=""controls"" autoplay=""autoplay"" Class=""non-downloadable"">
    <source src = ""http://www.html5videoplayer.net/videos/toystory.mp4"" type=""video/mp4"">
    </video>


    </body>
    </html>"




            InitializeComponent()

            Dim settings As New CefSettings()
            CefSharp.Cef.Initialize(settings)

            browser = New ChromiumWebBrowser("http://www.html5videoplayer.net/videos/toystory.mp4") With {
                .Dock = DockStyle.Fill
                        }
            Me.Controls.Add(browser)
            browser.LoadHtml(Html, False)
        End Sub
       Private WithEvents browser As ChromiumWebBrowser
        Public Sub New()

            Dim Html As String = "
    <html>
    <head>
    <style type = ""text/css"" >
          video.non - downloadable : -webkit-media-controls-enclosure{
          
          }
          video.non-downloadable: -webkit-media-controls-panel{
           width: calc(100% + 32px);
          }
    </style>
    </head>
    <body>

    <video width = ""100%"" height=""100%"" controls=""controls"" autoplay=""autoplay"" Class=""non-downloadable"">
    <source src = ""http://www.html5videoplayer.net/videos/toystory.mp4"" type=""video/mp4"">
    </video>


    </body>
    </html>"




            InitializeComponent()

            Dim settings As New CefSettings()
            CefSharp.Cef.Initialize(settings)

            browser = New ChromiumWebBrowser("http://www.html5videoplayer.net/videos/toystory.mp4") With {
                .Dock = DockStyle.Fill
                        }
            Me.Controls.Add(browser)
            browser.LoadHtml(Html, False)
        End Sub
       Private WithEvents browser As ChromiumWebBrowser
        Public Sub New()

            Dim Html As String = "
    <html>
    <head>
    <style type = ""text/css"" >
          video.non - downloadable : -webkit-media-controls-enclosure{
          
          }
          video.non-downloadable: -webkit-media-controls-panel{
           width: calc(100% + 32px);
          }
    </style>
    </head>
    <body>

    <video width = ""100%"" height=""100%"" controls=""controls"" autoplay=""autoplay"" Class=""non-downloadable"">
    <source src = ""http://www.html5videoplayer.net/videos/toystory.mp4"" type=""video/mp4"">
    </video>


    </body>
    </html>"




            InitializeComponent()

            Dim settings As New CefSettings()
            CefSharp.Cef.Initialize(settings)

            browser = New ChromiumWebBrowser("http://www.html5videoplayer.net/videos/toystory.mp4") With {
                .Dock = DockStyle.Fill
                        }
            Me.Controls.Add(browser)
            browser.LoadHtml(Html, False)
        End Sub
       Private WithEvents browser As ChromiumWebBrowser
        Public Sub New()

            Dim Html As String = "
    <html>
    <head>
    <style type = ""text/css"" >
          video.non - downloadable : -webkit-media-controls-enclosure{
          
          }
          video.non-downloadable: -webkit-media-controls-panel{
           width: calc(100% + 32px);
          }
    </style>
    </head>
    <body>

    <video width = ""100%"" height=""100%"" controls=""controls"" autoplay=""autoplay"" Class=""non-downloadable"">
    <source src = ""http://www.html5videoplayer.net/videos/toystory.mp4"" type=""video/mp4"">
    </video>


    </body>
    </html>"




            InitializeComponent()

            Dim settings As New CefSettings()
            CefSharp.Cef.Initialize(settings)

            browser = New ChromiumWebBrowser("http://www.html5videoplayer.net/videos/toystory.mp4") With {
                .Dock = DockStyle.Fill
                        }
            Me.Controls.Add(browser)
            browser.LoadHtml(Html, False)
        End Sub
    quarta-feira, 8 de novembro de 2017 19:55