mirror of https://github.com/vitalif/phantomjs
detectsniff example: Check if the web page sniffs the user agent.
http://code.google.com/p/phantomjs/issues/detail?id=2631.4
parent
f18fd5372f
commit
8ffd7a2403
|
@ -0,0 +1,40 @@
|
|||
page = require('webpage').create()
|
||||
|
||||
page.onInitialized = ->
|
||||
page.evaluate ->
|
||||
userAgent = window.navigator.userAgent
|
||||
platform = window.navigator.platform
|
||||
window.navigator =
|
||||
appCodeName: 'Mozilla'
|
||||
appName: 'Netscape'
|
||||
cookieEnabled: false
|
||||
sniffed: false
|
||||
|
||||
window.navigator.__defineGetter__ 'userAgent', ->
|
||||
window.navigator.sniffed = true
|
||||
userAgent
|
||||
|
||||
window.navigator.__defineGetter__ 'platform', ->
|
||||
window.navigator.sniffed = true
|
||||
platform
|
||||
|
||||
if phantom.args.length is 0
|
||||
console.log 'Usage: unsniff.js <some URL>'
|
||||
phantom.exit()
|
||||
else
|
||||
address = phantom.args[0]
|
||||
console.log 'Checking ' + address + '...'
|
||||
page.open address, (status) ->
|
||||
if status isnt 'success'
|
||||
console.log 'FAIL to load the address'
|
||||
else
|
||||
window.setTimeout ->
|
||||
sniffed = page.evaluate(->
|
||||
navigator.sniffed
|
||||
)
|
||||
if sniffed
|
||||
console.log 'The page tried to sniff the user agent.'
|
||||
else
|
||||
console.log 'The page did not try to sniff the user agent.'
|
||||
phantom.exit()
|
||||
, 1500
|
|
@ -0,0 +1,57 @@
|
|||
// Detect if a web page sniffs the user agent or not.
|
||||
|
||||
var page = require('webpage').create(),
|
||||
sniffed,
|
||||
address;
|
||||
|
||||
page.onInitialized = function () {
|
||||
page.evaluate(function () {
|
||||
|
||||
(function () {
|
||||
var userAgent = window.navigator.userAgent,
|
||||
platform = window.navigator.platform;
|
||||
|
||||
window.navigator = {
|
||||
appCodeName: 'Mozilla',
|
||||
appName: 'Netscape',
|
||||
cookieEnabled: false,
|
||||
sniffed: false
|
||||
};
|
||||
|
||||
window.navigator.__defineGetter__('userAgent', function () {
|
||||
window.navigator.sniffed = true;
|
||||
return userAgent;
|
||||
});
|
||||
|
||||
window.navigator.__defineGetter__('platform', function () {
|
||||
window.navigator.sniffed = true;
|
||||
return platform;
|
||||
});
|
||||
})();
|
||||
});
|
||||
};
|
||||
|
||||
if (phantom.args.length === 0) {
|
||||
console.log('Usage: unsniff.js <some URL>');
|
||||
phantom.exit();
|
||||
} else {
|
||||
address = phantom.args[0];
|
||||
console.log('Checking ' + address + '...');
|
||||
page.open(address, function (status) {
|
||||
if (status !== 'success') {
|
||||
console.log('FAIL to load the address');
|
||||
} else {
|
||||
window.setTimeout(function () {
|
||||
sniffed = page.evaluate(function () {
|
||||
return navigator.sniffed;
|
||||
});
|
||||
if (sniffed) {
|
||||
console.log('The page tried to sniff the user agent.');
|
||||
} else {
|
||||
console.log('The page did not try to sniff the user agent.');
|
||||
}
|
||||
phantom.exit();
|
||||
}, 1500);
|
||||
}
|
||||
});
|
||||
}
|
Loading…
Reference in New Issue