javascript

Is there any way using javascript i can detect the browser settings like tools/internet options-- settings/check for newer version of stored pages---every visit to the page,never etc.
I have an apllication which does not allow the user to login with some of these settings set .How can i check there settings and code in a way which allows then to login the application?
akohliAsked:
Who is Participating?
 
LordOfPortsConnect With a Mentor Commented:
Regarding the internet options, the only way you could gain access to them is to write a browser plug-in that will communicate with your web application and a user must explicity install. This would be a pretty complex task, e.g. here are few articles on the topic:

IE
http://msdn.microsoft.com/en-gb/library/bb250489(VS.85).aspx 
http://www.codeproject.com/KB/cs/Attach_BHO_with_C_.aspx

Firefox
http://www.ibm.com/developerworks/web/library/wa-xul1/ 

In this case it appears that caching is the problem so you could try to disable caching of your web pages, the following article shows how you could try to disable caching of web pages so the browser will check for newer version of your web page each time:

http://support.microsoft.com/kb/234067 
http://www.mnot.net/cache_docs/ 

One very basic, albeit not absolutely reliable, example is placing the following META tags in the HEAD section of the web page:
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />

Open in new window

0
 
LordOfPortsCommented:
There is a Navigator object http://www.javascriptkit.com/jsref/navigator.shtml that provides some browser related information however Javascript does not have the ability to read a user's settings from the "Internet Options".
0
 
ysfxCommented:
Another common practice is to test to see if a similar functionality fails. For example, store a cookie value then pull the value again. If the value is the same, cookie is enabled else disabled.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
akohliAuthor Commented:
Can i get a code example or if there is any other way(other than javascript) to fetch the user settings of internet options?
0
 
LordOfPortsCommented:
The code snippet below has an example of using the Navigator object to read the available browser information, reading and setting cookies, and using the <noscript> HTML tag that is accessed when the user does not have JavaScript enabled.

Short of installing a custom written, e.g. in Java, C++, etc., plug-in on the user's browser (with a user's explicit permission) there is no way to detect the settings from "Internet Options" as they are stored in e.g. the registry, local files, etc. so accessing them through JavaScript would be a breach of security.

What you can do is first identify the cause of your application not working for some users, i.e. is JavaScript not enabled and therefore your application does not work in which case you would use the <noscript> tag to inform the user that your application requires JavaScript in order to function properly; does the application require a specific browser in which case try using the navigator object to identify which browser the user has.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Detecting Browser/Setting Cookie</title>
</head>
<body>
 
<!-- The noscript tag will be accessed if the browser does not support JavaScript -->
<noscript>
 <h2>JavaScript is not enabled.</h2>
</noscript>
 
<script type="text/javascript">
// Using the Navigator object
 
document.write("appCodeName: " + navigator.appCodeName + "<br />");
document.write("appName: " + navigator.appName + "<br />");
document.write("appVersion: " + navigator.appVersion + "<br />");
document.write("cookieEnabled: " + navigator.cookieEnabled + "<br />");
document.write("userAgent: " + navigator.userAgent + "<br />");
document.write("Supported MIME Types<br />");
for(var i = 0; i < navigator.mimeTypes.length; i++) {
    document.write("&nbsp;" + navigator.mimeTypes[i].type + "<br />");
}
 
</script>
 
<script type="text/javascript">
// Using cookies
 
if(!document.cookie) {
    // No cookie has been set yet
    alert('No cookie has been detected');
    
    // Set the cookie for 3 days
    var dtDate = new Date();
    dtDate.setTime(dtDate.getTime() + (3 * 24 * 60 * 60 * 1000));
    var sExpirationDate = "expires=" + dtDate.toGMTString();
 
    document.cookie = "user:name;" + sExpirationDate;
}
else {
    // Found cookie, show value
    alert(document.cookie);
}
 
</script>
 
</body>
</html>

Open in new window

0
 
akohliAuthor Commented:
thanks for the reply...i know the user is facing the problem because he does not  have any particular "check for newer versions of web page"" option clicked,but is there any (without using javascript) other way using which we can come to know about user's Internet options (this particular settings)
0
 
akohliAuthor Commented:
Thans again for the reply...i am little confused...seeing the articles it says its better to use http header than meta tags,where and how should i write the http header.Like u sent the two lines for meta,can u also send the code that is to be written for http header.In the article it says http header is generated by the server,if so then where and how should i make the settings for not caching the page...
0
 
akohliAuthor Commented:
i am using websphere...
0
 
LordOfPortsCommented:
How to set the http header server-side depends on the scripting language you are using and while I am not familiar with websphere this EE thread appears to have the exact steps http://www.experts-exchange.com/Software/Internet_Email/Web_Browsers/Q_21423506.html
0
All Courses

From novice to tech pro — start learning today.