What Javascript can't do

  • 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.
  • Javascript cannot 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.
  • avascript 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.
  • 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.
Anuj Kumar Rathi

Improve your website's user interface using javascript

Hi friends,
This is after a very long time. I was so busy now the days.
Now i am sharing some client side javascript functions. Now the days most of the companies wants to give the as much as possible functionalite in the web applications like desktop applications. & one can achive this with the help of javascript. Another thing that comes into picture is AJAX. But now i will not talk about AJAX in this article. here i will describe some javascript techniques by which you can improve your web sites user interface & create it more user friendly. Lets start some basic tests:

String.prototype.IsBlank=function(){ var flag=true; for(var i=0;i<this.length;i++){var temp=this.substring(i,i+1); if(temp != " "){ flag=false; break; } } if(flag==true){return true;} else {return false;} };

Enter Your Name:
String.prototype.CheckBlank=function(fname){if(this.IsBlank()){alert(fname+genblnk);return true;}return false;};

Enter Your Name:

Javascript Source Code for above functions:

This Script contain prototypes to extend the features of builtin datatypes of javascript.
So that we can perform more advanced operations easily.
If you want to use these features in your code you must have to include this file in pages head section.
Author: Anuj Kumar Rathi
Email: rathi.del@gmail.com
// define error messages
var allowed = "jpg.jpeg.JPG.JPEG";
var blnkmail="Email Can't be blank";
var mailfrmt="Enter a valid Email Address!";
var sharemailfrmt='Please make sure that email addresses contain no spaces and exactly one "@" sign!';
var confpwdblnk="Either Password or Confirm Password is blank!";
var pwdmismatch="Password doesn't match!";
var uidexists="Another User with this Email already registered!";
var uidsucessed="You can Proceed with this mail!";
var titleblnk="Title can't be blank!";
var genblnk=" can't be blank!";
var albumexists="Album already exists!";
var leastrecpt="Please enter at least one recipant!";
var msg_nan=" must be a Number";
var msg_naf=" must be a Float Number";

/* Add prototypes to builtin String datatype */

// Reverse a String
String.prototype.reverse=function(){ var out='';for(var i=this.length-1;i>=0;i--){ out+=this.substr(i,1);} return out;};

// Check if string is Blank or Not
String.prototype.IsBlank=function(){ var flag=true; for(var i=0;i<this.length;i++){ var temp=this.substring(i,i+1); if(temp != " "){flag=false; break;}}if(flag==true){return true;}else {return false;}};

// Check if string is Blank or Not. If blank then alert an Error Message with specified keyword
String.prototype.CheckBlank=function(fname){if(this.IsBlank()){alert(fname+genblnk);return true;}return false;};

// Check if string is represantinf a number or Not.If not a number then alert an Error Message with specified keyword
String.prototype.isNumber=function(fname){if(isNaN(parseInt(this))){alert(fname+msg_nan);return false;}return true;};
String.prototype.isFloat=function(fname){if(isNaN(parseFloat(this))){alert(fname+msg_naf);return false;}return true;};
String.prototype.isNumberInteger=function(){return (!isNaN(parseInt(this))) ? true : false;};
String.prototype.isNumberFloat=function(){return (!isNaN(parseFloat(this))) ? true : false;};
String.prototype.removeLeadingSpaces=function (){var removeChar=' ';var returnString=this; if(removeChar.length){while(''+returnString.charAt(0)==removeChar){returnString=returnString.substring(1,returnString.length);}}return returnString;}
String.prototype.removeTrailingSpaces=function (){var removeChar=' ';var returnString=this;if(removeChar.length){while(''+returnString.charAt(returnString.length-1)==removeChar){returnString=returnString.substring(0,returnString.length-1);}}return returnString;}
String.prototype.removeLeadingAndTrailingSpaces=function (){var removeChar=' ';var returnString=this;if(removeChar.length){while(''+returnString.charAt(0)==removeChar){returnString=returnString.substring(1,returnString.length);}while(''+returnString.charAt(returnString.length-1)==removeChar){returnString=returnString.substring(0,returnString.length-1);}}return returnString;}

// Check if string is valid email or not
String.prototype.isValidEmail= function (){
var at="@"; var dot="."; var lat=this.indexOf(at); var lstr=this.length; var ldot=this.indexOf(dot);
if (this.indexOf(at)==-1){return false;}
if (this.indexOf(at)==-1 this.indexOf(at)==0 this.indexOf(at)==lstr){return false;}
if (this.indexOf(dot)==-1 this.indexOf(dot)==0 this.indexOf(dot)==lstr){return false;}
if (this.indexOf(at,(lat+1))!=-1){return false;}
if (this.substring(lat-1,lat)==dot this.substring(lat+1,lat+2)==dot){return false;}
if (this.indexOf(dot,(lat+2))==-1){return false;}
if(this.substring(this.lastIndexOf(dot)+1).length>=0){return false;} if (this.indexOf(" ")!=-1){return false;}return true;}

//check multiple mails separated with 'sepval' against valid email String.prototype.checkIsValidEMails=function(sepval){ if(this.IsBlank()){alert(leastrecpt);return false;} var valToCheck = this.split(sepval); var flag=true;var part_num=0; while (part_num < valToCheck.length){ if(valToCheck[part_num].IsBlank()==false && valToCheck[part_num].isValidEmail()==false){ flag = false;alert(sharemailfrmt); alert('Check the following email id to correct \n\n' + '\t' +valToCheck[part_num]); break;}part_num+=1;}return flag;}

// Make a string to Title case eg. Anuj Kumar Rathi
String.prototype.makeTitleCase=function (){var tmpStr,tmpChar,preString,postString,strlen;tmpStr=this.toLowerCase(); stringLen=tmpStr.length; if (stringLen>0){for (i=0;i0){tmpChar=tmpStr.substring(0,1).toUpperCase();postString=tmpStr.substring(1,stringLen);tmpStr=tmpChar+postString;}return tmpStr;}

// Count the number of words ia a string. Words should be seperated by a single space (' '). If more then spaces found then it will be treated as multiple word
String.prototype.countWords=function (){return this.split(' ').length;}