始终位于桌面YouTube播放器的顶部

时间:2017-07-29 06:29:12

标签: vb.net internet-explorer youtube webbrowser-control

我正在努力建立一个无边界,永远在线的YouTube播放器,我几乎已经准备好了所有设置,这是我的代码:

{'a': '[b, c]'}

问题出现在我启动应用程序时;我从WebBrowser控件中得到三个错误。

脚本错误。

  

错误:对象不支持属性或方法'create'。

我猜这些错误来自WebBrowser不支持 Dim html_aux As String = InputBox("Inserte URL YouTube") Dim s As String() = html_aux.Split("=") Dim htmlContent As String = "<html><body><iframe width='480'; height='271'; src='https://www.youtube.com/embed/" & s(1) & "'; frameborder='0';></iframe></body></html>" Dim archivo As New System.IO.StreamWriter(".\Index.html", False) If System.IO.File.Exists(".\Index.html") Then archivo.WriteLine(htmlContent) archivo.Close() Else MkDir(".\Index.html") archivo.WriteLine(htmlContent) archivo.Close() End If Navegador.Navigate("file:///" & IO.Path.GetFullPath(".\index.html")) 持有的实际html代码。

有没有办法让WebBrowser处理这些冲突?我应该停止尝试吗?

1 个答案:

答案 0 :(得分:1)

我找到了问题的答案,在HTML代码中添加以下标题可以解决问题:

<html>
  <head> 
     <meta http-equiv='X-UA-Compatible' content='IE=edge' /> 
     ... headers code
  </head>
  <body>
     ... body code
  </body>
</html>

我不再收到脚本错误。

整个代码:

Public Class Form1

Private Sub URLToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles URLToolStripMenuItem.Click

    Dim html_aux As String = InputBox("Inserte URL YouTube")
    Dim s As String() = html_aux.Split("=")
    Dim htmlContent As String =
        "<html>
        <head>
        <meta http-equiv='X-UA-Compatible' content='IE=edge' />
        </head>
        <body>
        <!DOCTYPE html PUBLIC '-//WAPFORUM//DTD XHTML Mobile 1.2//EN' 'http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd'>
        <iframe width='480'; height='271'; src='https://www.youtube.com/embed/" & s(1) & "'; frameborder='0';>
        </iframe>
        </body>
        </html>"
    Dim htmlFile As New System.IO.StreamWriter(".\Index.html", False)
    If System.IO.File.Exists(".\index.html") Then
        htmlFile.WriteLine(htmlContent)
        htmlFile.Close()
    Else
        MkDir(".\index.html")
        htmlFile.WriteLine(htmlContent)
        htmlFile.Close()
    End If
    Navegador.Navigate("file:///" & IO.Path.GetFullPath(".\index.html"))
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
    Me.TopMost = True
End Sub

End Class