我正在使用JavaScript的一些新功能,例如Array.forEach(v.1.6)。
据我所知,在实时代码中我们应该使用特征检测,如下所述: To tell Javascript version of your browser 所以,基本上是这样的:
typeof Array.prototype.forEach == 'function'
但是,是否有某种方式(例如网站)显示不同浏览器支持哪个版本的JavaScript?我基本上想检查一下给定的版本是否已被浏览器广泛采用。
像this这样的JavaScript支持就像我正在寻找的那样。
答案 0 :(得分:3)
不,不是真的。您应该进行功能测试,而不是浏览器支持哪种版本的JS,以支持许多新的HTML5功能。
对于ECMAScript 5的一些新功能,您可以创建或使用模拟这些功能的第三方填充程序,并且不会在旧版浏览器中导致错误。并非所有功能都适用于ECMAScript 5,但很多功能都可以。
答案 1 :(得分:1)
我同意其他评论,即您不应该检查javascript版本,以确保所使用的功能正常运行。
推荐:
不推荐:
但是,回答问题。 您可以在此处查看浏览器支持的javascript版本。
Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim trv As New MyTreeView
trv.Nodes.Add("Suppliers")
trv.Nodes(0).Nodes.Add("Sup 1")
trv.Nodes(0).Nodes.Add("Sup 2")
trv.Nodes(0).Nodes.Add("Sup 3")
trv.Nodes(0).Nodes.Add("Sup 4")
trv.Nodes(0).Nodes.Add("Sup 5")
Controls.Add(trv)
End Sub
End Class
'Class Starts Here
Public Class MyTreeView
Inherits TreeView
WithEvents myImage As PictureBox
Dim activeItem As TreeNode 'Variable to store active TreeNode
Public Sub New()
MyBase.New() 'Call the base class constructor
'And set some values
Height = 300
Width = 300
Location = New Point(50, 50)
DrawMode = TreeViewDrawMode.OwnerDrawText 'Very neccesary
AddHandler DrawNode, AddressOf MyTreeViewDrawNode
'Add event handlers
AddHandler AfterCollapse, AddressOf MyTreeViewCollapsed
'Set HotTracking event to true to allow for MouseHover
HotTracking = True
ImageList = new ImageList
ImageList.Images.Add(My.Resources.FolderImage)
ImageIndex = 0
Font = New Font(Font.FontFamily, 10)
'Initialize picturebox
myImage = New PictureBox() With
{
.Image = My.Resources.editPencilImage,
.SizeMode = PictureBoxSizeMode.Zoom,
.Size = New Size(10, 10),
.Visible = False
}
Controls.Add(myImage)
End Sub
Private Sub MyTreeViewCollapsed(sender As Object, e As TreeViewEventArgs)
myImage.Visible = False
End Sub
Sub ImageClicked(sender As Object, e As EventArgs) Handles myImage.Click
If (Not activeItem Is Nothing) Then
MessageBox.Show("Clicked Item - " & activeItem.Text)
End If
End Sub
Private Sub MyTreeViewDrawNode(sender As Object, e As DrawTreeNodeEventArgs)
e.DrawDefault = True
If (e.State = TreeNodeStates.Hot) Then
myImage.Visible = True
activeItem = e.Node
Dim tmpSize = TextRenderer.MeasureText(e.Node.Text, Font)
myImage.Location = New Point(e.Node.Bounds.Location.X + tmpSize.Width, e.Node.Bounds.Location.Y)
End If
End Sub
End Class