Скрипты в InDesign позволяют не только работать с материалами публикации, но и общаться с внешним миром. Для этого в API предусмотренна функция Socket.
Данный скрипт находит в тексте текст начинающийся с http + все символы + пробел
И отправляет запрос на сайт clck.ru в ответ он получает короткую ссылку типа http://clck.ru/1r которую и размещает рядом с полной ссылкой.
Надеюсь данный материал Вам был полезен.Задачи по работе иногда бывают довольно разные. В очередной раз оказалось нужно генерировать много коротких ссылок. Да можно найти онлайн сервис генерации коротких ссылок и решить вопрос довольно быстро. Но это не наш путь))
Иногда полезно узнать новое в объектной модели InDesign. Так и появился скрипт написанный ниже. Он не совсем правильно оформлен но со своей задачей справляется на все сто. Получился довольно неплохой пример работы с Socket в JavaScript.
Иногда полезно узнать новое в объектной модели InDesign. Так и появился скрипт написанный ниже. Он не совсем правильно оформлен но со своей задачей справляется на все сто. Получился довольно неплохой пример работы с Socket в JavaScript.
myDoc = app.activeDocument;
mySelection = myDoc.selection[0]
myDoc = mySelection
app.findGrepPreferences = app.changeGrepPreferences = null;
myMask = "(http)(.+)( )"
app.findGrepPreferences.findWhat = myMask;
myGrep = myDoc.findGrep()
myCount = myGrep.length
for (i = 0; i < myCount; i++) {
var myTextFind = myGrep[i]
myUrl(myTextFind.contents)
var mySel = app.select(myTextFind);
app.selection[0].insertionPoints[0].contents = reply1.toString() + " "
}
function myUrl(url) {
reply = "";
conn = new Socket;
if (conn.open("clck.ru:80")) {
var lens = url.length + 1
ConLens = "Content-Length: " + lens.toString() + "\n\n"
req = "GET /--?url=" + url.toString() + " HTTP/1.1"
conn.writeln(req);
conn.writeln("Host: clck.ru\n\n")
reply = conn.read(999999);
conn.close();
}
reply1 = reply.match("http.+")
return reply1;
}
Данный скрипт находит в тексте текст начинающийся с http + все символы + пробел
И отправляет запрос на сайт clck.ru в ответ он получает короткую ссылку типа http://clck.ru/1r которую и размещает рядом с полной ссылкой.
Комментариев нет:
Отправить комментарий