js鸡肋

关于后端返回id精度问题

当后端传Long类型给前端, Long类型数据大于17位时。前端拿到的数据: 第16位会四舍五入, 17位后的数据自动用0代替),在Json中就会出现精度丢失的情况。
所以需要后台处理返回数据为String


页面全屏或某元素全屏

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
// 元素全屏把document.documentElement换对应元素即可
/**
* 浏览器判断是否全屏
*/
export const fullscreenEnable = () => {
return document.isFullScreen || document.mozIsFullScreen || document.webkitIsFullScreen
}

/**
* 浏览器全屏
*/
export const reqFullScreen = () => {
if (document.documentElement.requestFullScreen) {
document.documentElement.requestFullScreen()
} else if (document.documentElement.webkitRequestFullScreen) {
document.documentElement.webkitRequestFullScreen()
} else if (document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen()
}
}
/**
* 浏览器退出全屏
*/
export const exitFullScreen = () => {
if (document.documentElement.requestFullScreen) {
document.exitFullScreen()
} else if (document.documentElement.webkitRequestFullScreen) {
document.webkitCancelFullScreen()
} else if (document.documentElement.mozRequestFullScreen) {
document.mozCancelFullScreen()
}
}

页面调试

浏览器调试技巧

  • 1:在未捕获的异常抛出时自动断点
  • 2:在匹配指定 URL 的 XHR/fetch 请求发起时自动断点
  • 3:在每个 <script> 标签第一句代码执行时自动断点
  • 用 Console 面板上的 debug() 函数,比如 debug(alert) ,然后所有调用alert() 的地方都会自动中断
  • 在指定的节点被删除时自动断点