| While there are a great many things that Javascript can be used for to enhance your web pages and improve your visitors experience with your site, there are also a few things that Javascript can't do. Some of these limitations are due to the fact that the script is running in the browser window and therefore cannot access the server while others are as a result of security that is in place to stop web pages from being able to tamper with your computer.
Javascript cannot…
-
… read from or write to files on the server. Because Javascript is running in the web browser after the web page has been copied from the server, it therefore cannot interact with the server (the computer that the web page was copied from) in any way.
-
… interact with server side scripts. Any server side scripts are run before the web page is downloaded to the browser. This means that a server side scripting language such as PHP or ASP can update the content of your Javascript code before it is downloaded. Since the Javascript itself isn't run until after the page has been downloaded the Javascript is not able to affect the server side script because that has already finished running. The only way that Javascript can pass information back to a server side script would be to reload the page passing the required information from Javascript as a query string on the end of the page address.
-
… read from or write to files in the client. Even though Javascript is running on the client computer the one where the web page is being viewed) it is not allowed to access anything outside of the web page itself. This is done for reasons of security since otherwise a web page would be able to update your computer to install who knows what. The only exception to this are files called cookies which are small text files that Javascript can write to and read from. The browser restricts access to cookies so that a given web page can only access cookies created by the same site.
-
… close a window if it didn't open it. Again this is for security reasons.
-
… access web pages hosted on another domain. Even though web pages from different domains can be displayed at the same time, either in separate browser windows or in separate frames within the same browser window, the Javascript running on a web page belonging to one domain cannot access any information about a web page from a different domain. This helps to ensure that private information about you that may be known to the owners of one domain is not shared with other domains whose web pages you may have open concurrently.
-
… protect your page source or images. Any images on your web page are downloaded separately to the computer displaying the web page so the person viewing the page already has a copy of all of the images by the time they view the page. The same is true of the actual HTML source of the web page. The web page needs to be able to decrypt any web page that is encrypted in order to be able to display it. While an encrypted web page may require Javascript to be enabled in order for the page to be able to be decrypted in order for it to be able to be displayed by the web browser, once the page has been decrypted anyone who knows how can easily save the decrypted copy of the page source.
There is no way to work around these limitations and anyone who claims to be able to perform any of the following tasks using Javascript has not considered all of the aspects of whatever it is that they are trying to do.
|