在 2019 年 2 月版的 Adobe Acrobat DC 中,全局命名空间中使用的 JavaScript 变量被标记为常量,并且不能在脚本的全局命名空间中当做变量名称使用。但是,您可以在局部命名空间中使用变量名称。
受影响的 Acrobat 版本
Acrobat DC、Acrobat 2017 和 Acrobat DC 2015 (Classic)
受影响的变量名称
无法在全局命名空间中修改或重新定义以下变量名称:
- color
- font
- border
- style
- highlight
- zoomtype
- cursor
- trans
- position
- scaleWhen
- scaleHow
- display
- permission
- submitFormUsageRights
- fileSystem
- encoding
示例脚本示例
示例 1:
如果在全局命名空间中定义以下代码,则会导致错误:
function position() { //Perform some action
}
|
错误消息:TypeError: can't redefine non-configurable property 'color'
示例 2:
如果在全局命名空间中执行以下代码,它将不起作用:
var position = 10; |
当您尝试再次访问 position 时,它并没有修改为 10;它仍然指向 Acrobat 使用的原始对象。
示例 3:
允许在局部范围内使用相同的变量。以下代码可正常工作:
(它将 hello 作为输出来进行打印。)
var example = new function() { this. position = function () { console.println("hello"); }; } example.color(); |
示例 4:
以下代码可将变量 position 的值修改为 10,因为它是在局部范围内定义的。
function example() { var position= 10; console.println(position); } |