---
title: "命令"
description: "用于更新编辑器内容保护策略的命令。"
canonical_url: "https://tiptap.zhcndoc.com/composable-docs/content-protection/api-reference/commands"
---

# 命令

用于更新编辑器内容保护策略的命令。

使用此命令前，请添加[内容保护扩展](https://tiptap.zhcndoc.com/composable-docs/content-protection/api-reference/extension.md)。

## `setContentProtectionPolicy`

验证并替换当前策略。

```ts
editor.commands.setContentProtectionPolicy({ policy })
```

### 参数

- `policy` (`ContentProtectionPolicy`)：完整的替换[策略](https://tiptap.zhcndoc.com/composable-docs/content-protection/api-reference/policy.md#contentprotectionpolicy)。

### 返回值（`boolean`）

- `true`：策略有效，包括策略未发生变化的情况。
- `false`：策略无效，或事务同时更改了文档内容。

直接调用 `editor.commands.setContentProtectionPolicy({ policy })` 是同步的：调用返回时，已安装接受的策略和 `policyRevision`。使用 `editor.chain()` 时，会在 `.run()` 分发事务时安装。`contentProtectionPolicyUpdate` 通知会在安装后作为微任务排队；它不会在命令返回前运行。

### 行为

- 更改策略会增加 `policyRevision` 并触发 `contentProtectionPolicyUpdate`。
- 相同策略不会产生影响，也不会触发事件。
- 无效输入会保留之前的策略，并触发 `contentProtectionPolicyError`。
- 扩展会复制策略。修改传入对象不会产生影响。
- 策略变化不会更改文档内容，也不会进入撤销历史。
- 允许只包含选区的链式调用。请将策略替换与内容编辑分开进行。
- `editor.can().setContentProtectionPolicy({ policy })` 会执行验证，但不会更改状态或触发事件。
