This repository was archived by the owner on Jan 21, 2025. It is now read-only.
forked from browserstack/browserstack-runner
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbrowserstack.js
More file actions
53 lines (43 loc) · 1.58 KB
/
browserstack.js
File metadata and controls
53 lines (43 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
(function(){
var BrowserStack = {};
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
// Tiny Ajax Post
var post = function (url, json, cb){
var req;
if (window.ActiveXObject)
req = new ActiveXObject('Microsoft.XMLHTTP');
else if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else
throw "Strider: No ajax"
req.onreadystatechange = function () {
if (req.readyState==4)
cb(req.responseText);
};
var data = "data=" + encodeURIComponent(JSON.stringify(json));
req.open("POST", url, true);
req.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
req.setRequestHeader('X-Browser-String', BrowserStack.browser_string);
req.setRequestHeader('X-Worker-UUID', BrowserStack.worker_uuid);
req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
req.send(data);
}
if (typeof console !== 'object') {
var console = {};
window.console = console;
}
_console_log = console.log;
console.log = function (arguments) {
post('/_log/', arguments, function () {});
};
BrowserStack.post = post;
BrowserStack.getParameterByName = getParameterByName;
BrowserStack.browser_string = getParameterByName('_browser_string');
BrowserStack.worker_uuid = getParameterByName('_worker_key');
window.BrowserStack = BrowserStack;
})();