faqts : Computers : Programming : Languages : JavaScript : Browser Settings

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

50 of 63 people (79%) answered Yes
Recently 8 of 10 people (80%) answered Yes

Entry

Can client side JavaScript read (or even write) user settings?

Mar 8th, 2000 01:37
Martin Honnen, T. Postel,


Trusted script in NN4 can read and write user settings and various 
other preferences when it successfully requests privilege to do so.
To read a preference:
  netscape.security.PrivilegeManager.enablePrivilege 
    ('UniversalPreferencesRead');
  var prefValue = 
    navigator.preference('preference.name');
for example to read the email address
  netscape.security.PrivilegeManager.enablePrivilege
    ('UniversalPreferencesRead');
  var email = 
    navigator.preference('mail.identity.useremail');
  alert(email);
To write a preference:
  netscape.security.PrivilegeManager.enablePrivilege 
    ('UniversalPreferencesWrite');
  navigator.preference('preference.name', 'preferenceValue')
for example to set the browsers start up page:
  netscape.security.PrivilegeManager.enablePrivilege 
    ('UniversalPreferencesWrite');
  navigator.preference
    ('browser.startup.homepage', 'http://javascript.faqts.com/');
The list of all preference names is on developer.netscape.com at
http://developer.netscape.com/docs/manuals/deploymt/jsprefs.htm
IE has its own concept to ask for permission to access some user 
settings. There is a 
  navigator.userProfile
(see
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/userpr
ofile.asp
)
object with methods
  addReadRequest
  doReadRequest
  getAttribute
which you can use as follows:
  navigator.userProfile.addReadRequest('vCard.Email');
  navigator.userProfile.doReadRequest(3, 'your company name')
  var email = navigator.userProfile.getAttribute('vCard.Email');
  alert(email)