1. Technology

What Javascript Can Not Do

By

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. 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.

  • JavaScript cannot write to files on the server without the help of a server side script. Using Ajax, JavaScript can send a request to the server. This request can read a file in XML or plain text format but it cannot write to a file unless the file called on the server actually runs as a script to do the file write for you.
  • JavaScript cannot access databases unless you use Ajax and have a server side script perform the database accesses for you.
  • JavaScript cannot 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.
  • JavaScript cannot close a window if it didn't open it. Again this is for security reasons.
  • JavaScript cannot 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. The only way to access files from another domain is to do an Ajax call to your server and have a server side script access the other domain.
  • JavaScript cannot 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.
  1. About.com
  2. Technology
  3. JavaScript
  4. Problem Solving
  5. What Javascript Cannot Do

©2014 About.com. All rights reserved.