Los objetos globales de JavaScript se marcan como constantes en Acrobat

Con la versión de febrero de 2019 de Adobe Acrobat DC, las variables de JavaScript utilizadas en el espacio de nombres global están marcadas como constantes y no pueden usarse como nombres de variable en el espacio de nombres global en los scripts. No obstante, los nombres de variable se pueden utilizar en el espacio de nombres local.

 

Versiones de Acrobat afectadas

Acrobat DC, Acrobat 2017 y Acrobat DC 2015 (Classic)

Nombres de variables afectados

Los nombres de variables siguientes no se pueden modificar ni redefinir en el espacio de nombres global:

  • color
  • font
  • border
  • style
  • highlight
  • zoomtype
  • cursor
  • trans
  • position
  • scaleWhen
  • scaleHow
  • display
  • permission
  • submitFormUsageRights
  • fileSystem
  • encoding

Ejemplos de secuencias de comandos

Ejemplo 1:

Si define el código siguienteen el espacio de nombres global, se producirá un error:

function position()

{

    //Perform some action

}

El mensaje de error: TypeError: can't redefine non-configurable property 'color'

 

Ejemplo 2:

Si se ejecuta el código siguiente en un espacio de nombres global, no funcionará:

var position = 10;

Si intenta acceder de nuevo a la posición, no se modificará a 10; seguirá apuntando al objeto original tal como lo utiliza Acrobat.

 

Ejemplo 3:

Se permite usar la misma variable en el ámbito local. El código siguiente funciona correctamente:

(Imprime hello como salida).

var example = new function() {

    this. position = function () {

        console.println("hello");

    };

}

example.color();



Ejemplo 4:

El código siguiente modifica el valor de la variable position 10, según lo establecido en el ámbito local.

function example()

{

   var position= 10;

    console.println(position);

}

Logotipo de Adobe

Inicia sesión en tu cuenta