javascript

  • window.print()
    • 此方法在执行的时候会阻塞本所有页面上所有js代码的执行。
    • 在document.redy 后执行也不行,因为document.ready中也会有一些代码要执行,另外还有ajax的回调要执行,所以需要等待一个比较常的时间。
    • 解决办法,使用setTimeout , 执行的间隔最好1秒钟,经测试小于1秒中,可能执行不完。
    setTimeout(window.print, 1000);
    
    • 解决办法二:
      • 做一个页面js执行完成的标记变量。
      • 递归调用seTimeout判断变量,如果完成再执行window.print()
      • 此方法比较麻烦,在实际项目中没有使用和测试。「由于是跨页面」
    • 解决办法三「推荐」:
      • 使用await 等待异步调用的完成后在执行window.print()
      • 或者使用promise.then()来执行window.print()
  • 获取url参数
// 获取当前URL的查询参数
const urlParams = new URLSearchParams(window.location.search);

// 获取特定参数
const paramValue = urlParams.get('paramName');

// 示例:如果URL是 example.com?name=John&age=30
const name = urlParams.get('name'); // "John"
const age = urlParams.get('age');   // "30"