Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Author: $ Blade83
- * Filename: client.js
- *
- * This Script collects settings about Flashplayer- Plugin on the Client´s side and
- * stored them in cookies. So we can access via PHP on that cookies and get the
- * informations about the Flashplayer on the Client Browser.
- */
- function set_a_Cookie(c_name,value,exdays)
- {
- var exdate=new Date();
- exdate.setDate(exdate.getDate() + exdays);
- var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
- document.cookie=c_name + "=" + c_value;
- }
- var FlashDetect = new function(){
- var self = this;
- self.installed = false;
- self.raw = "";
- self.major = -1;
- self.minor = -1;
- self.revision = -1;
- self.revisionStr = "";
- var activeXDetectRules = [
- {
- "name":"ShockwaveFlash.ShockwaveFlash.7",
- "version":function(obj){
- return getActiveXVersion(obj);
- }
- },
- {
- "name":"ShockwaveFlash.ShockwaveFlash.6",
- "version":function(obj){
- var version = "6,0,21";
- try{
- obj.AllowScriptAccess = "always";
- version = getActiveXVersion(obj);
- }catch(err){}
- return version;
- }
- },
- {
- "name":"ShockwaveFlash.ShockwaveFlash",
- "version":function(obj){
- return getActiveXVersion(obj);
- }
- }
- ];
- var getActiveXVersion = function(activeXObj){
- var version = -1;
- try{
- version = activeXObj.GetVariable("$version");
- }catch(err){}
- return version;
- };
- var getActiveXObject = function(name){
- var obj = -1;
- try{
- obj = new ActiveXObject(name);
- }catch(err){
- obj = {activeXError:true};
- }
- return obj;
- };
- var parseActiveXVersion = function(str){
- var versionArray = str.split(",");//replace with regex
- return {
- "raw":str,
- "major":parseInt(versionArray[0].split(" ")[1], 10),
- "minor":parseInt(versionArray[1], 10),
- "revision":parseInt(versionArray[2], 10),
- "revisionStr":versionArray[2]
- };
- };
- var parseStandardVersion = function(str){
- var descParts = str.split(/ +/);
- var majorMinor = descParts[2].split(/\./);
- var revisionStr = descParts[3];
- return {
- "raw":str,
- "major":parseInt(majorMinor[0], 10),
- "minor":parseInt(majorMinor[1], 10),
- "revisionStr":revisionStr,
- "revision":parseRevisionStrToInt(revisionStr)
- };
- };
- var parseRevisionStrToInt = function(str){
- return parseInt(str.replace(/[a-zA-Z]/g, ""), 10) || self.revision;
- };
- self.majorAtLeast = function(version){
- return self.major >= version;
- };
- self.minorAtLeast = function(version){
- return self.minor >= version;
- };
- self.revisionAtLeast = function(version){
- return self.revision >= version;
- };
- self.versionAtLeast = function(major){
- var properties = [self.major, self.minor, self.revision];
- var len = Math.min(properties.length, arguments.length);
- for(i=0; i < len; i++){
- if(properties[i] >= arguments[i]){
- if(i+1 < len && properties[i]==arguments[i]){
- continue;
- }else{
- return true;
- }
- }else{
- return false;
- }
- }
- };
- self.FlashDetect = function(){
- if(navigator.plugins && navigator.plugins.length>0){
- var type = 'application/x-shockwave-flash';
- var mimeTypes = navigator.mimeTypes;
- if(mimeTypes && mimeTypes[type] && mimeTypes[type].enabledPlugin && mimeTypes[type].enabledPlugin.description){
- var version = mimeTypes[type].enabledPlugin.description;
- var versionObj = parseStandardVersion(version);
- self.raw = versionObj.raw;
- self.major = versionObj.major;
- self.minor = versionObj.minor;
- self.revisionStr = versionObj.revisionStr;
- self.revision = versionObj.revision;
- self.installed = true;
- }
- }
- else if(navigator.appVersion.indexOf("Mac")==-1 && window.execScript){
- var version = -1;
- for(var i=0; i < activeXDetectRules.length && version==-1; i++){
- var obj = getActiveXObject(activeXDetectRules[i].name);
- if(!obj.activeXError){
- self.installed = true;
- version = activeXDetectRules[i].version(obj);
- if(version!=-1){
- var versionObj = parseActiveXVersion(version);
- self.raw = versionObj.raw;
- self.major = versionObj.major;
- self.minor = versionObj.minor;
- self.revision = versionObj.revision;
- self.revisionStr = versionObj.revisionStr;
- }
- }
- }
- }
- // lets write this information in a cookie
- set_a_Cookie("flash_raw",self.raw,1);
- set_a_Cookie("flash_major",self.major,1);
- set_a_Cookie("flash_minor",self.minor,1);
- set_a_Cookie("flash_revisionStr",self.revisionStr,1);
- set_a_Cookie("flash_revision",self.revision,1);
- set_a_Cookie("flash_installed",self.installed,1);
- }();
- };
- var Browserdimensions = new function(){
- var self = this;
- self.winW = 0;
- self.winH = 0;
- if (document.body && document.body.offsetWidth) {
- self.winW = document.body.offsetWidth;
- self.winH = document.body.offsetHeight;
- }
- if (document.compatMode=='CSS1Compat' && document.documentElement && document.documentElement.offsetWidth ) {
- self.winW = document.documentElement.offsetWidth;
- self.winH = document.documentElement.offsetHeight;
- }
- if (window.innerWidth && window.innerHeight) {
- self.winW = window.innerWidth;
- self.winH = window.innerHeight;
- }
- set_a_Cookie("windowWidth",self.winW,1);
- set_a_Cookie("windowHeight",self.winH,1);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement