在 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);

}

此産品由 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 授權  Creative Commons 條款未涵蓋 Twitter™ 與 Facebook 文章。

法律說明   |   線上隱私權政策