navigator.plugins.refresh is not a function
Closed this issue · 4 comments
I'm having trouble with your plugin on multiple browsers and operating systems. I'm getting an error navigator.plugins.refresh is not a function
These are some of the useragents that show this error:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4210.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.133 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.101 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3948.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 OPR/75.0.3969.93
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.69 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.7 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3953.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.60 Safari/537.36
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.2 Safari/605.1.15
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4158.1 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.1 Safari/605.1.15
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.1 Safari/605.1.15
The code I'm using is this:
let cljsObj = {}
try {
// populating clientjs fingerprint components
let clientJS = new ClientJS()
cljsObj.vl_fp_cljs_browser = clientJS.getBrowserData() ? clientJS.getBrowserData() : 'unknown'
cljsObj.vl_fp_cljs_language = clientJS.getLanguage() ? clientJS.getLanguage() : 'unknown'
// parse CLJS data for other parameters
cljsObj.cl_browser =
cljsObj.vl_fp_cljs_browser && cljsObj.vl_fp_cljs_browser.browser && cljsObj.vl_fp_cljs_browser.browser.name
? cljsObj.vl_fp_cljs_browser.browser.name
: 'unknown'
cljsObj.cl_browser_version =
cljsObj.vl_fp_cljs_browser && cljsObj.vl_fp_cljs_browser.browser && cljsObj.vl_fp_cljs_browser.browser.version
? cljsObj.vl_fp_cljs_browser.browser.version
: 'unknown'
cljsObj.cl_browser_major =
cljsObj.vl_fp_cljs_browser && cljsObj.vl_fp_cljs_browser.browser && cljsObj.vl_fp_cljs_browser.browser.major
? cljsObj.vl_fp_cljs_browser.browser.major
: 'unknown'
cljsObj.cl_device =
cljsObj.vl_fp_cljs_browser && cljsObj.vl_fp_cljs_browser.device && cljsObj.vl_fp_cljs_browser.device.type
? cljsObj.vl_fp_cljs_browser.device.type.toUpperCase()
: 'DESKTOP'
cljsObj.cl_device_model =
cljsObj.vl_fp_cljs_browser && cljsObj.vl_fp_cljs_browser.device && cljsObj.vl_fp_cljs_browser.device.model
? cljsObj.vl_fp_cljs_browser.device.model
: 'unknown'
cljsObj.cl_device_vendor =
cljsObj.vl_fp_cljs_browser && cljsObj.vl_fp_cljs_browser.device && cljsObj.vl_fp_cljs_browser.device.vendor
? cljsObj.vl_fp_cljs_browser.device.vendor
: 'unknown'
cljsObj.cl_os =
cljsObj.vl_fp_cljs_browser && cljsObj.vl_fp_cljs_browser.os && cljsObj.vl_fp_cljs_browser.os.name ? cljsObj.vl_fp_cljs_browser.os.name : 'unknown'
cljsObj.cl_os_version =
cljsObj.vl_fp_cljs_browser && cljsObj.vl_fp_cljs_browser.os && cljsObj.vl_fp_cljs_browser.os.version
? cljsObj.vl_fp_cljs_browser.os.version
: 'unknown'
cljsObj.cl_ua = cljsObj.vl_fp_cljs_browser && cljsObj.vl_fp_cljs_browser.ua ? cljsObj.vl_fp_cljs_browser.ua : 'unknown'
cljsObj.cl_language = cljsObj.vl_fp_cljs_language ? cljsObj.vl_fp_cljs_language : 'unknown'
cljsObj.vl_fp_cljs_device = clientJS.getDeviceType() ? clientJS.getDeviceType() : 'unknown'
cljsObj.vl_fp_cljs_devicetype = clientJS.getDeviceType() ? clientJS.getDeviceType() : 'unknown'
cljsObj.vl_fp_cljs_canvas = clientJS.getCanvasPrint() ? clientJS.getCanvasPrint() : 'unknown'
cljsObj.vl_fp_cljs_plugins = clientJS.getPlugins() ? clientJS.getPlugins() : 'unknown'
cljsObj.vl_fp_cljs_screen = clientJS.getScreenPrint() ? clientJS.getScreenPrint() : 'unknown'
cljsObj.vl_fp_cljs_cpu = clientJS.getCPU() ? clientJS.getCPU() : 'unknown'
cljsObj.vl_fp_cljs_isMobile = clientJS.isMobile() ? clientJS.isMobile() : 'unknown'
cljsObj.vl_fp_cljs_isMobileIOS = clientJS.isMobileIOS() ? clientJS.isMobileIOS() : 'unknown'
cljsObj.vl_fp_cljs_isMobileAndroid = clientJS.isMobileAndroid() ? clientJS.isMobileAndroid() : 'unknown'
cljsObj.vl_fp_cljs_mimetypes = clientJS.getMimeTypes() ? clientJS.getMimeTypes() : 'unknown'
cljsObj.vl_fp_cljs_fonts = clientJS.getFonts() ? clientJS.getFonts() : 'unknown'
cljsObj.vl_fp_cljs_localstorage = clientJS.isLocalStorage() ? clientJS.isLocalStorage() : 'unknown'
cljsObj.vl_fp_cljs_sessionstorage = clientJS.isSessionStorage() ? clientJS.isSessionStorage() : 'unknown'
cljsObj.vl_fp_cljs_timezone = clientJS.getTimeZone() ? clientJS.getTimeZone() : 'unknown'
cljsObj.vl_fp_cljs_systemlanguage = clientJS.getSystemLanguage() ? clientJS.getSystemLanguage() : 'unknown'
cljsObj.vl_fp_cljs_cookie = clientJS.isCookie() ? clientJS.isCookie() : 'unknown'
cljsObj.vl_fp_cljs_java = clientJS.getJavaVersion() ? clientJS.getJavaVersion() : 'unknown'
cljsObj.vl_fp_cljs_flash = clientJS.getFlashVersion() ? clientJS.getFlashVersion() : 'unknown'
cljsObj.vl_fp_cljs_silverlight = clientJS.getSilverlightVersion() ? clientJS.getSilverlightVersion() : 'unknown'
// cljsObj.cl_browser = get(cljsObj, 'vl_fp_cljs_browser.browser.name', 'unknown');
// cljsObj.cl_browser_version = get(cljsObj, 'vl_fp_cljs_browser.browser.version', 'unknown');
// cljsObj.cl_browser_major = get(cljsObj, 'vl_fp_cljs_browser.browser.major', 'unknown');
// cljsObj.cl_device = get(cljsObj, 'vl_fp_cljs_browser.device.type', 'DESKTOP').toUpperCase();
// cljsObj.cl_device_model = get(cljsObj, 'vl_fp_cljs_browser.device.model', 'unknown');
// cljsObj.cl_device_vendor = get(cljsObj, 'vl_fp_cljs_browser.device.vendor', 'unknown');
// cljsObj.cl_os = get(cljsObj, 'vl_fp_cljs_browser.os.name', 'unknown');
// cljsObj.cl_os_version = get(cljsObj, 'vl_fp_cljs_browser.os.version', 'unknown');
// cljsObj.cl_ua = get(cljsObj, 'vl_fp_cljs_browser.ua', 'unknown');
// cljsObj.cl_language = get(cljsObj, 'vl_fp_cljs_language', 'unknown');
cljsObj.vl_fp_cljs = clientJS.getCustomFingerprint(
cljsObj.vl_fp_cljs_browser,
cljsObj.vl_fp_cljs_device,
cljsObj.vl_fp_cljs_devicetype,
cljsObj.vl_fp_cljs_canvas,
cljsObj.vl_fp_cljs_plugins,
cljsObj.vl_fp_cljs_screen,
cljsObj.vl_fp_cljs_cpu,
cljsObj.vl_fp_cljs_isMobile,
cljsObj.vl_fp_cljs_isMobileIOS,
cljsObj.vl_fp_cljs_isMobileAndroid,
cljsObj.vl_fp_cljs_mimetypes,
cljsObj.vl_fp_cljs_fonts,
cljsObj.vl_fp_cljs_localstorage,
cljsObj.vl_fp_cljs_sessionstorage,
cljsObj.vl_fp_cljs_timezone,
cljsObj.vl_fp_cljs_language,
cljsObj.vl_fp_cljs_systemlanguage,
cljsObj.vl_fp_cljs_cookie,
cljsObj.vl_fp_cljs_java,
cljsObj.vl_fp_cljs_flash,
cljsObj.vl_fp_cljs_silverlight
)
cljsObj.vl_fp_canvas_only = clientJS.getCustomFingerprint(cljsObj.vl_fp_cljs_canvas)
cljsObj = omit(cljsObj, ['vl_fp_cljs_canvas', 'vl_fp_cljs_fonts', 'vl_fp_cljs_browser'])
let userData = this.state.userData
Object.assign(userData, cljsObj)
this.setState({
userData: userData
})
// window.qubiq_profile_add(cljsObj);
} catch (err) {
console.error('cljs error', err.message)
console.error('cljs_error', err.stack)
tracker.error(err.message)
}
This is due to the usage of a bundle that contains Java plugin detection code. Do you actually need Java detection? Java plugin is dead in most browsers. Try to use one of the other bundles: https://github.com/jackspirou/clientjs#bundles. This is not released yet, so you'll have to install ClientJS from master:
npm install https://github.com/jackspirou/clientjs.git#master
Ok, I deleted the module first, then tried installing with npm install https://github.com/jackspirou/clientjs.git#master
and I get an error:
> clientjs@0.1.11 postinstall /home/dusnoki/code/stanley/node_modules/clientjs
> node scripts/install.js
internal/modules/cjs/loader.js:818
throw err;
^
Error: Cannot find module '/home/dusnoki/code/stanley/node_modules/clientjs/scripts/install.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
at Function.Module._load (internal/modules/cjs/loader.js:667:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
had to run it with --ignore-scripts
flag
This should be fixed now, would you mind to try again?
Please try out the new release (https://github.com/jackspirou/clientjs/releases/tag/v0.2.0). Feel free to reopen this ticket if you still have problems.