| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <!DOCTYPE html>
- <html lang="zh-CN">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Monitor SDK 测试页面</title>
- </head>
- <body>
- <h1>监控SDK测试页面</h1>
- <p>此页面用于测试打包后的监控SDK是否正常工作。</p>
-
- <!-- 引入打包后的测试函数 -->
- <script src="../dist/bundle-iife.js"></script>
-
- <div id="test-container">
- <button id="trigger-error">触发JavaScript错误</button>
- <button id="trigger-promise-error">触发Promise错误</button>
- <button id="simulate-performance-event">模拟性能事件</button>
- <button id="send-custom-data">发送自定义数据</button>
- <button id="test-functions">测试函数(test)</button>
- </div>
-
- <div id="result">
- <h3>控制台输出:</h3>
- <p>请打开开发者工具查看监控SDK的输出信息</p>
- </div>
- <script>
- // 页面加载完成后执行测试
- document.addEventListener('DOMContentLoaded', function() {
- console.log('页面已加载,监控SDK应该已经初始化');
-
- // 检查监控SDK是否已正确加载
- if (window.MonitorSDK && window.monitorInstance) {
- console.log('监控SDK已成功加载');
- console.log('SDK实例:', window.monitorInstance);
- } else {
- console.error('监控SDK未正确加载');
- }
- // 测试全局函数是否存在
- if (window.test && window.testExport) {
- console.log('✅ 全局函数已成功加载');
-
- // 测试函数功能
- console.log('test(5) =', window.test(5));
- console.log('testExport(5) =', window.testExport(5));
- } else {
- console.error('❌ 全局函数未找到');
- }
-
- // 绑定按钮事件
- document.getElementById('test-functions').addEventListener('click', function() {
- console.log('测试全局函数');
-
- if (window.test && window.testExport) {
- const result1 = window.test(10);
- const result2 = window.testExport(10);
-
- console.log('window.test(10) =', result1);
- console.log('window.testExport(10) =', result2);
-
- alert(`函数调用结果:\ntest(10) = ${result1}\ntestExport(10) = ${result2}`);
- } else {
- console.error('函数未定义');
- alert('函数未定义');
- }
- });
-
- document.getElementById('trigger-error').addEventListener('click', function() {
- console.log('触发JavaScript错误测试');
- // 触发一个JavaScript错误
- throw new Error('这是测试错误');
- });
- document.getElementById('trigger-promise-error').addEventListener('click', function() {
- console.log('触发Promise错误测试');
- // 触发一个Promise错误
- Promise.reject(new Error('这是测试Promise错误'));
- });
-
- document.getElementById('simulate-performance-event').addEventListener('click', function() {
- console.log('模拟性能事件');
- // 这会触发性能监控
- const start = performance.now();
- // 模拟一些计算
- for(let i = 0; i < 1000000; i++) {}
- const end = performance.now();
- console.log(`模拟计算耗时: ${end - start} ms`);
- });
-
- document.getElementById('send-custom-data').addEventListener('click', function() {
- console.log('发送自定义数据');
- // 使用监控实例发送自定义数据
- if (window.monitorInstance) {
- window.monitorInstance.reportData({
- type: 'custom_event',
- message: '自定义事件测试',
- timestamp: Date.now()
- });
- }
- });
- });
-
- // 页面可见性变化事件(用于测试页面停留时间监控)
- document.addEventListener('visibilitychange', function() {
- console.log('页面可见性变化:', document.visibilityState);
- });
- </script>
- </body>
- </html>
|