Client-side scripting: Difference between revisions

Content deleted Content added
Usage aspects, corrections
Line 2:
'''Client-side scripting''' generally refers to the class of [[computer program]]s on the [[World Wide Web|web]] that are [[Execution (computers)|executed]] ''[[client-side]]'', by the user's [[web browser]], instead of ''[[server-side]]'' (on the [[web server]]).<ref>[http://www.w3.org/TR/WD-script-970314 Client-side Scripting and HTML]. W3.org. Retrieved on 2012-09-11.</ref> This type of [[computer programming]] is an important part of the [[Dynamic HTML]] (DHTML) concept, enabling [[web page]]s to be [[Script (computer programming)|scripted]]; that is, to have different and changing content depending on user input, environmental conditions (such as the time of day), or other variables.
 
Client-side scripts are often embedded within an [[HTML]] or [[XHTML]] document (hence known as an "embedded script"), but they may also be contained in a separate [[Computer file|file]], to which the document (or documents) that use it make reference (hence known as an "external script"). Upon request, the necessary files are sent to the user's computer by the [[web server]] (or servers) on which they reside. The user's [[web browser]] [[Execution (computers)|executes]] the script, then displays the document, including any visible output from the script. Client-side scripts may also contain instructions for the browser to follow in response to certain user actions, (e.g., clicking a button). Often, these instructions can be followed without further communication with the server. Balancing the execution between client and server scripts is used to minimize the communication load, server load and/or response time.
 
By viewing the file that contains the script, users may be able to see its [[source code]]. Many web authors learn how to write client-side scripts partly by examining the source code for other authors' scripts.
Line 12:
Due to security restrictions, client-side scripts may not be allowed to access the user's computer beyond the [[web browser]] application. Techniques like [[ActiveX]] controls can be used to sidestep this restriction.
 
Client-side scripting is not inherently unsafe. Users, though, are encouraged to always keep their web browsers up-to-date to avoid exposing their computer and data to new vulnerabilities. Some users disable script execution because of fear of exploits or to pursue faster browser experience, thus limiting the usefulness of this scripting technique.
 
The latest group of web browsers and web pages tend to employ a heavy amount of client-side scripting, accounting for an improved user interface in which the user does not experience the unfriendly "refreshing" of the web page, but instead sees perhaps an [[animated GIF]] file indicating that the request occurred and the page will be updated shortly. [[Ajax (programming)|Ajax]] is an important addition to the JavaScript language, allowing web developers to communicate with the web server asynchronously in the background without requiring a completely new version of the page to be requested and rendered. This leads to a much improved user experience in general.
 
Unfortunately, even languages that are supported by a wide variety of browsers may not be implemented in precisely the same way across all browsers versions and operating systems. Authors are well-advised to review the behaviour of their client-side scripts on a variety of [[Platform (computing)|platforms]] before they put them into use.
 
==Client-controlled or Client-generated Client-Side scripting==
Line 22:
 
==List of Client-Side Scripting languages==
*[[JavaScript]] and [[Ajax (programming)|Ajax]]
*[[ActionScript]] (used to create animated interactive web applications for Adobe Flash Player using Adobe Flash Pro)
*[[Dart (programming language)|Dart]]
Line 28:
*[[Typescript]]
*[[Python (programming language)|Python]]
*[[Ajax (programming)|Ajax]]
 
==References==