命令

使用此命令前,请添加内容保护扩展。

setContentProtectionPolicy

验证并替换当前策略。

editor.commands.setContentProtectionPolicy({ policy })

参数

  • policy (ContentProtectionPolicy):完整的替换策略。

返回值(boolean)

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

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

行为

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