Я пытаюсь исправить все гиперссылки в своих файлах indesign и заменить https на http. прямо сейчас, для того, чтобы работать, я запускаю этот скрипт ..Indesign Script: замена всех случаев (https) на (http) без дублирования
var
i;
hls = app.activeDocument.hyperlinkURLDestinations;
for (i = 0; i < hls.length; i++) {
if (!hls[i].destinationURL.match('http://')) {
hls[i].destinationURL = 'http://' + hls[i].destinationURL;
}
}
следуют этому сценарию, выбирая протокол HTTPS, который будет заменен на HTTP ...
main();
function main(){
\t var d = app.dialogs.add({name:"Replace Hyperlink URL Values"});
\t var col1 = d.dialogColumns.add();
\t var col2 = d.dialogColumns.add();
\t col1.staticTexts.add({staticLabel:"Find (GREP):"});
\t col1.staticTexts.add({staticLabel:"Replace:"});
\t var find = col2.textEditboxes.add({minWidth:100});
\t var change = col2.textEditboxes.add({minWidth:100});
\t var result = d.show();
\t if(!result){
\t \t d.destroy();
\t \t return;
\t }
\t var grepForFind = RegExp(find.editContents,"g");
\t var grepForReplace = change.editContents;
\t d.destroy();
\t var dests = app.documents[0].hyperlinkURLDestinations.everyItem().getElements();
\t for(var i=0;i<dests.length;i++){
\t \t dests[i].destinationURL = dests[i].destinationURL.replace(grepForFind,grepForReplace);
\t }
}
Как только оба из них были запущены, я заметил, что «http: //» дублируется в гиперссылках, которые уже содержат «http: //».
Итак, я запускаю второй скрипт, снова заменяя (http: // + http: //) на «http: //», который решает проблему.
Мой вопрос заключается в том, как сделать его одним сценарием, который будет работать в первый раз.
** Примечание: ** Второй скрипт представляет this error, если первый не запущен, что также меня озадачивает.
Любая помощь будет оценена по достоинству.
хорошо видно Jongware;) – Loic
Я проверяю, как она работает прямо сейчас! Заранее спасибо. –
Когда я запускаю скрипт, появляется [эта ошибка] (https://gyazo.com/128d4717dec55c00d0fae7454ccfbf13). –