2012-06-18 3 views

ответ

1

История может быть закрыта с close method.

Вот функция, которая закрывает окно редактора истории, если оно открыто. Он проверяет наличие свойства масштабирования в окне, чтобы определить, является ли окно редактором истории или нет (спасибо Loic Aigon за эту идею) ... Должен быть лучший способ сделать это, но я его не нашел ,

function closeStoryEditor() { 
    var windows = app.activeDocument.windows, 
    nbWindows = windows.length, 
    i, 
    closedWindow = false; 
    for (i = 0; !closedWindow && i < nbWindows; i += 1) { 
    if (!windows[i].hasOwnProperty("zoom")) { 
     // Let us presume that a window without a zoom method is a story editor window... 
     windows[i].close(); 
     closedWindow = true; 
    } 
    } 
} 
+0

Отлично! Спасибо за обмен. –

+0

Вы должны принять ваш ответ, чтобы этот вопрос больше не считался без ответа –

0

Чтобы закрыть его, это тот же звонок! если вы хотите проверить, открыт ли редактор, вы можете просмотреть все открытые окна следующим образом: app.activeDocument.windows.everyItem(). name; и посмотреть на совпадения.

Лоик окно редактора http://www.loicaigon.com

+0

Какой тест я должен выполнить, чтобы определить, является ли текущее окно редактором истории? – Shawn

+1

Редактор истории, похоже, не имеет информации о масштабировании, а главное окно имеет. Я никогда не использовал этот материал, поэтому я не могу гарантировать его безопасность, но это единственный ключ, о котором я могу сейчас думать. –

+0

Хм, кажется, что вызов 'app.menuActions.itemByID (119793) .invoke();' второй раз не закрывает окно редактора истории в конце концов .. – Shawn