Как выбрать подслой в фотошопе на основе Javascript?

var docRef = app.activeDocument;  
var layers = docRef.layers;  
var myLayer = layers["组5"]; //this defines the layer that you want to get the selection from  

var myLayer = app.activeDocument.layers["组5"];

//alert(myLayer.layers);


docRef.selection = null;//这句是让你没有选中任何图层

for (var i=0;i<myLayer.layers.length;i++){


          if (myLayer.layers[i].name= = "图层"){  //   alert(myLayer.layers[i].name= = "图层");
        //  alert(myLayer.layers[i].name);
          myLayer.layers[i].selected=true;
     }

}

У меня есть такой код, когда в Photoshop cs некоторые подслои имеют имена, равные «图层», тогда этот подслой должен быть выбран, но не работает, кто знает, как их выбрать?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
107
1

Ответы 1

Насколько мне известно, это невозможно с DOM, но код Action Manager выполнит эту работу:

var myName = "Layer 5";

deselectLayers(); // deselecting all layers first

traverseAllLayers(myName);

function selectByID(id)
{
    var desc = new ActionDescriptor();
    var ref = new ActionReference();
    ref.putIdentifier(charIDToTypeID('Lyr '), id);
    desc.putReference(charIDToTypeID('null'), ref);
    desc.putEnumerated(stringIDToTypeID("selectionModifier"), stringIDToTypeID("selectionModifierType"), stringIDToTypeID("addToSelection"));
    executeAction(charIDToTypeID('slct'), desc, DialogModes.NO);
};

function deselectLayers()
{
    var desc60 = new ActionDescriptor();
    var ref30 = new ActionReference();
    ref30.putEnumerated(charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt'));
    desc60.putReference(charIDToTypeID('null'), ref30);
    executeAction(stringIDToTypeID('selectNoLayers'), desc60, DialogModes.NO);
};

function traverseAllLayers(n)
{
    var ref0 = new ActionReference();
    ref0.putProperty(charIDToTypeID('Prpr'), stringIDToTypeID('numberOfLayers'));
    ref0.putEnumerated(charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));
    var desc0 = executeActionGet(ref0);
    var i = desc0.getInteger(stringIDToTypeID('numberOfLayers'));
    for (i; i > 0; i--)
    {
        ref = new ActionReference();
        ref.putIndex(charIDToTypeID('Lyr '), i);
        var desc = executeActionGet(ref);
        var layerName = desc.getString(charIDToTypeID('Nm  '));
        var Id = desc.getInteger(stringIDToTypeID( 'layerID' ));
        if (layerName == n) selectByID(Id) // selecting by ID, adding to selection
    }
}

Другие вопросы по теме