> ## Documentation Index
> Fetch the complete documentation index at: https://help.decodo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# JavaScript 渲染

> 如何在 /scrape 中启用 JavaScript 渲染，以及 /crawl 和 /map 中的对应参数。

## 什么是 JavaScript 渲染

JavaScript 渲染是指在网页上执行 JavaScript 以生成动态内容的过程。动态内容是指在初始 HTML 交付之后，才在网页上加载或更新的数据或元素。许多现代网站都依赖 JavaScript 来加载数据并实时调整页面布局。

## 不使用与使用 JavaScript 渲染的对比

不使用 JavaScript 渲染：

* 仅获取初始 `HTML`。
* 速度快、资源占用少，但会遗漏动态内容。

使用 JavaScript 渲染：

* 执行 JavaScript 以加载完整内容，包括动态数据。
* 速度较慢、资源占用较多，但对于现代动态网站必不可少。

## 何时使用 JavaScript 渲染

* **静态网站：** 无需 JS 渲染。
* **动态网站：** 使用 JS 渲染以获取完整内容。
* **交互元素：** 抓取需要用户交互才能显示的数据时必须使用，例如[**浏览器操作**](/docs/cn/web-data-api-scrape-browser-actions)。

## 如何在请求中使用 JavaScript 渲染

要在请求中启用渲染，您需要添加 `headless` 参数，并将其值设置为 `html` 或 `png`。

<CodeGroup>
  ```shellscript cURL theme={null}
  # 将 'TOKEN VALUE' 替换为您的 API 密钥
  curl --request 'POST' \
          --url 'https://data.decodo.com/v1/scrape' \
          --header 'Accept: application/json' \
          --header 'Authorization:Bearer TOKEN VALUE' \
          --header 'Content-Type: application/json' \
          --data '
      {
        "url": "https://ip.decodo.com/ip",
        "headless": "html"
      }
  '
  ```
</CodeGroup>

将 `headless` 参数设置为 `png` 时，可获得截图响应，详情请见[此处](/docs/cn/web-data-api-screenshot-response)。

## 其他端点上的 JavaScript 渲染

/crawl 和 /map 使用各自的参数来启用 JavaScript 渲染：

| 端点 | 参数 | 作用 |
| :- | :- | :- |
| /scrape | `headless`: `"html"` | 在返回页面之前渲染 JavaScript。 |
| /crawl | [`JS_retry`](/docs/cn/web-data-api-crawl-parameters): `true` | 如果页面需要 JavaScript，则使用 JavaScript 渲染重试该页面一次。 |
| /map | [`JS_rendering`](/docs/cn/web-data-api-map-parameters): `true` | 在收集链接之前渲染 JavaScript。 |

`JS_retry` 和 `JS_rendering` 采用大写形式书写，也接受小写形式 `js_retry` 和 `js_rendering`。

***

<Columns cols={2}>
  <Card title="支持" href="https://direct.lc.chat/12092754" cta="让我们聊聊！">
    需要帮助或只是想打个招呼？我们的支持团队全天候为您服务。 \
    您也可以随时通过电子邮件 [support@decodo.com](mailto:support@decodo.com) 联系我们。
  </Card>

  <Card title="反馈" href="mailto:feedback@decodo.com" cta="分享反馈">
    找不到您要找的内容？请求一篇文章！ \
    有反馈意见？分享您对我们如何改进的想法。
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.