[ID CS4-CS6] превратности пути, или извращённый мак :)

  • Автор темы Автор темы bossrus
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
То есть, хотите сказать, что мой код не работает на OSX? Привожу его в тексте:

вот вывод при прилинкованных линках:
~/Desktop/-tst-/1111/11
1852797549
Ссылка снаружи
~/Desktop/-tst-/1111/11
1852797549
Ссылка снаружи
~/Desktop/-tst-/1111/11
1852797549
Ссылка снаружи
а вот так это выглядит, если линки миссинг:
/Applications/Adobe%20InDesign%20CS4/scripts/XHTML%20For%20Digital%20Editions
1819109747
Ссылка снаружи
/Applications/Adobe%20InDesign%20CS4/scripts/XHTML%20For%20Digital%20Editions
1819109747
Ссылка снаружи
/Applications/Adobe%20InDesign%20CS4/scripts/XHTML%20For%20Digital%20Editions
1819109747
Ссылка снаружи
 
Только что просил проверить свой код на маке — ничего подобного не было. Правда, был CC2015.4.
 
Могу только предложить связаться Teamviewer-ом.
 
Проверил, у меня скрипт Виталия работает корректно. И на ЦС4 6.0.6 под OSX 10.10 тоже.
 
Проверил, у меня скрипт Виталия работает корректно. И на ЦС4 6.0.6 под OSX 10.10 тоже.
то есть взяли вёрстку, запустили скрипт, полюбовались на
~/Desktop/-tst-/1111/11
1852797549
Ссылка снаружи
потом оборвали линки, запустили скрипт, и картина не изменилась?
 
Оборвали линки? Судя по вышеизложенным постам, это может обозначать что угодно. Что имеете ввиду? Уж не ембединг ли?
 
Открыл OSX, поставил ESTK 2.0.2 (CS3), запустил нижеследующий код. Как видим, отсутствующий файл вполне нормально отдает .absoluteURI.
Из чего следует, что топикстартер пользуется какой-то одному ему ведомой терминологией, разгадать которую, видимо, необходимо всем нам.
Шарады, coño...

Снимок экрана 2016-07-14 в 1.36.13.png
 
А что такое undefined в конце?
 
undefined - функция, значит, ничего не возвращает. Потому что функции нету.

2bossrus, угу именно так. Я вместо _оборвания_ файл линка переименовал.
 
вот вывод при прилинкованных линках:

а вот так это выглядит, если линки миссинг:

Это довольно распространенная проблема CS4, независимо от используемой операционной системы.
Можно попробовать вот так:
Код:
var pathDoc = File(app.activeDocument.filePath).absoluteURI;
for (var a = 0, l = app.activeDocument.links.length; a < l; a++) {
    var linkParentPath = new File(app.activeDocument.links[a].filePath).parent.absoluteURI;
    $.writeln(linkParentPath);
    $.writeln(app.activeDocument.links[a].status);
    if (linkParentPath.indexOf(pathDoc) > -1) {
        $.writeln("Ссылка внутри");
    } else {
        $.writeln("Ссылка снаружи");    
    }
}
 
Оборвали линки? Судя по вышеизложенным постам, это может обозначать что угодно. Что имеете ввиду? Уж не ембединг ли?
"оборвал линк" — это значит — изменил путь к картинкам так, чтобы картинки стали миссингом.

Это довольно распространенная проблема CS4, независимо от используемой операционной системы.
Можно попробовать вот так:

продолжил тесты, и стало ещё веселее.
если в вёрстке 1 картинка миссинг, а 1 нормальная:
~/Desktop/-tst-/1111/11
1852797549
Ссылка внутри
~/Desktop/-tst-/1111/11
1819109747
Ссылка внутри

подумал "о! новый скрипт работает как надо!".
переименовал папку с картинками, чтобы миссингами стали все картинки (скрипт и вёрстка никак не менялись):
/Applications/Adobe%20InDesign%20CS4/scripts/XHTML%20For%20Digital%20Editions
1819109747
Ссылка снаружи
/Applications/Adobe%20InDesign%20CS4/scripts/XHTML%20For%20Digital%20Editions
1819109747
Ссылка снаружи

опс. неужели баг начинается, если все картинки миссинг?
оставил путь в покое, перенёс сами картинки в другое место
~/Desktop/-tst-/1111/11
1819109747
Ссылка внутри
~/Desktop/-tst-/1111/11
1819109747
Ссылка внутри

отсюда вывод — чехарда начинается, если не существует не самой картинки по нужному пути, а именно пути к этой картинке. и это знание пока никак не мешает найти более лёгкий путь, чем я уже нашёл :)


Открыл OSX, поставил ESTK 2.0.2 (CS3), запустил нижеследующий код. Как видим, отсутствующий файл вполне нормально отдает .absoluteURI.
то, как компилит ESTK, получая данные изнутри — это не то же самое, что компилится с данными из InDesign
 
Во, теперь воспроизводится
и тоже
/Applications/Adobe%20InDesign%20CS4/Scripts/XHTML%20For%20Digital%20Editions

Похоже, просто бага этой чертовой версии, бросали бы Вы ее...
 
Просите кого-то проверить в CS6.
В CS5 та же хрень, в CC2015 все нормально.
 
Просите кого-то проверить в CS6.
В CS5 та же хрень, в CC2015 все нормально.
В CS6 этой ошибки нет. Отсутствует скриптуемый плагин, который очевидно и вызывал такое странное поведение.
 
  • Спасибо
Реакции: Flame
Просите кого-то проверить в CS6.
В CS5 та же хрень, в CC2015 все нормально.
в CS6 именно этот скрипт:
/Volumes
LINK_MISSING
Ссылка снаружи
/Volumes
LINK_MISSING
Ссылка снаружи
/Volumes
LINK_MISSING
Ссылка снаружи
/Volumes
LINK_MISSING
Ссылка снаружи

без ".parent" в "new File(app.activeDocument.links[a].filePath).parent.absoluteURI;"
стало лучше. и страньше. опять путь с двоеточиями '))')
/Macintosh%20HD:Users:vbulykin: Desktop:-tst-:1111:11:eeeee_eeeee.pcx
LINK_MISSING
Ссылка снаружи
/Macintosh%20HD:Users:vbulykin: Desktop:-tst-:1111:11:wwwwwwwww.jpg
LINK_MISSING
Ссылка снаружи
/Macintosh%20HD:Users:vbulykin: Desktop:-tst-:1111:11:qqqqq_qqqqq.psd
LINK_MISSING
Ссылка снаружи
/Macintosh%20HD:Users:vbulykin: Desktop:-tst-:1111:11:rrrrrrrrrrrrr.png
LINK_MISSING
Ссылка снаружи
 
там в соседнем посте про бип есть способ, как с помощью эпплскрипта внутри джаваскрипта гарантированно получать POSIX-путь (со слешами)
 
там в соседнем посте про бип есть способ, как с помощью эпплскрипта внутри джаваскрипта гарантированно получать POSIX-путь (со слешами)
к существующему файлу и команда File работает.
 
Статус
Закрыто для дальнейших ответов.