Фильтруйте текстовые слои, используя свойство selectedLayers - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь установить тип слоя, чтобы мой вызов функции относился только к текстовому слою в выбранных слоях (количество выбранных слоев составляет несколько сотен).Кажется, я делаю какую-то ошибку, используя метод typeOf.Может кто-нибудь помочь, пожалуйста?

var myComp = app.project.activeItem;
var selectedLayers = myComp.selectedLayers;
var numLayers = selectedLayers.length;

    for(var i=0; i < numLayers; i++){
        var mySourceText = selectedLayers[i].property("ADBE Text Properties").property("ADBE Text Document");
        var myTextDoc = mySourceText.value;
             if (typeOf(selectedLayers[i]) == "TextLayer") {
                mySourceText.setValue(trim(myTextDoc));
            }
     }

function trim(strValue){
    var str = new String(strValue);
    return str.replace(/(^\s*)|(\s*$)/g,"");
}

1 Ответ

0 голосов
/ 09 марта 2019

Нужный правильный логический тест:

if (selectedLayers[i] instanceof TextLayer) {

instanceof, и нет кавычек для TextLayer.

...