Javascript

javascript

  • window.print()

    • 此方法在执行的时候会阻塞本所有页面上所有js代码的执行。

    • 在document.redy 后执行也不行,因为document.ready中也会有一些代码要执行,另外还有ajax的回调要执行,所以需要等待一个比较常的时间。

    • 解决办法,使用setTimeout , 执行的间隔最好1秒钟,经测试小于1秒中,可能执行不完。

    • 解决办法二:

      • 做一个页面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"

# javascript

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

```javascript
// 获取当前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"
```