devxlogo

IsClientScriptEnabled – Checking if the client script support is requested and possible

IsClientScriptEnabled – Checking if the client script support is requested and possible

If you develop a custom control and want to give the option to output client-side javascript code, you’ll likely have a EnableClientScript that allows the developer to specify whether the js code will be generated or not. However, before generating and outputting the js, you should also check whether it is supported by the target client browser. The following function takes in input a Boolean value (that will be the value of your EnableClientScript property), and returns the same value only if javascript code is supported, otherwise it returns False.

' Return True if client script support is requested and possibleFunction IsClientScriptEnabled(Byval value as Boolean) As Boolean    ' we need a Try block because accessing the Browser    ' property at design time may throw    Try        ' Return False if DOM version is too low.        If Page.Request.Browser.W3CDomVersion.Major ' Return False if EcmaScript version is too low.        If Page.Request.Browser.EcmaScriptVersion.CompareTo(New Version(1, _            2)) ' if all tests passed, return the input value        IsClientScriptEnabled = value    Catch        ' return False if any error occurs        Return False    End TryEnd Function

Within the method where you generate the control’s output code (for example from the overridden Render method), instead of doing something like this:

If EnableClientScript Then   ' generate and output javascript codeEnd If

You’ll do:

If IsClientScriptEnabled(EnableClientScript) Then   ' generate and output javascript codeEnd If

Note: This code is taken from Francesco Balena’s Programming Microsoft Visual Basic .NET – MS Press 2002, ISBN 0735613753.

devx-admin

Share the Post: