在 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); } |
登入您的帳戶