Acrobat で JavaScript グローバルオブジェクトが定数としてマークされる

Adobe Acrobat DC の 2019 年 2 月のリリースから、グローバル名前空間で使用される 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);

}

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト