shatter_monitor
Version:
A SDK for monitoring browser errors
100 lines (96 loc) • 3.01 kB
HTML
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="app">
<img src="" alt="">
<button id="ajaxButton" type="button">Make a request</button>
<button id="sourceButton" type="button">Make a source</button>
<button id="fetchButton" type="button">Make a fetch</button>
<button id="promiseButton" type="button">Make a promise error</button>
<button id="jsButton" type="button">Make a js error</button>
<button id="consoleButton" type="button">Make a console.error</button>
<button id="removeConsoleButton" type="button">remove console.error event</button>
</div>
</body>
<script src="./shatter.js"></script>
<script>
const { ShatterInit } = shatter
const singleShatter = new ShatterInit({
dsn: 'https://test.url.com',
appkey: 'cube',
debug: false,
beforeSendData: (params) => {
return true
},
});
</script>
<script src="http://localhost:8081/error.js"></script>
<script>
(function (){
document.getElementById('jsButton').onclick = function(){
throw new Error('im js Error')
}
})();
(function(){
document.getElementById('removeConsoleButton').addEventListener('click', function(){
document.getElementById('consoleButton').removeEventListener('click', addListen)
})
function addListen () {
console.error(new Error('im console.error'))
}
document.getElementById('consoleButton').addEventListener('click', addListen)
})();
(function(){
document.getElementById('promiseButton').onclick = function (){
new Promise((reslove, reject) => {
reject('promiseError')
}).then(res => {
console.log(res)
})
}
})();
(function(){
document.getElementById('sourceButton').onclick=function(){
document.getElementsByTagName('img')[0].src="https://xxxsdffsda.com/1.png"
}
}
)();
(function(){
document.getElementById('fetchButton').onclick=function(){
fetch('/fetch', {
method: 'POST'
})
}
}
)();
(function() {
var httpRequest;
document.getElementById("ajaxButton").addEventListener('click', makeRequest);
function makeRequest() {
httpRequest = new XMLHttpRequest();
if (!httpRequest) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
httpRequest.onreadystatechange = alertContents;
httpRequest.open('POST', 'test.html');
httpRequest.send(JSON.stringify({"a": "test"}));
}
function alertContents() {
if (httpRequest.readyState === XMLHttpRequest.DONE) {
if (httpRequest.status === 200) {
alert(httpRequest.responseText);
} else {
}
}
}
})();
</script>
<script>
</script>
</html>