What Javascript Cannot Do

Close-Up Of Javascript On Computer Monitor
JavaScript. Degui Adil / EyeEm / Getty Images

While there are a great many things that JavaScript can be used 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.

It 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 to perform the database accesses for you.

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

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

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

Format
mla apa chicago
Your Citation
Chapman, Stephen. "What Javascript Cannot Do." ThoughtCo, Aug. 27, 2020, thoughtco.com/what-javascript-cannot-do-2037666. Chapman, Stephen. (2020, August 27). What Javascript Cannot Do. Retrieved from https://www.thoughtco.com/what-javascript-cannot-do-2037666 Chapman, Stephen. "What Javascript Cannot Do." ThoughtCo. https://www.thoughtco.com/what-javascript-cannot-do-2037666 (accessed March 19, 2024).