IIRC, есть относительно новая команда PDF-AcroForm JS, которая может помочь:
app.launchURL(myURL, true);
Это запрос на новое окно , а не на новую вкладку, но некоторые браузеры все равно будут интерпретировать его как новую вкладку. Это может быть то, на что вы намекаете в комментарии «кросс-браузер».
Альтернатива довольно неприличная. Существует способ связи между веб-страницей и PDF.
В PDF вы устанавливаете свойство документов «HostContainer» как объект с различными методами:
В PDF:
this.hostContainer.postMessage([theURL]);
В HTML:
var thePDF = document.getElementById("thePDFObjectTagId");
thePDF.messageHandler = {
onMessage: function(paramArray) {
openANewTabWithTheUrl(paramArray[0]);
}
}
Веб-страница, обертывающая PDF, может быть немного больше, чем тег объекта и некоторый скрипт.
Существует механизм отправки сообщений и другим способом. Все это определено в Справочнике по JavaScript для Acrobat API . Ищите спецификации для «Embedded PDF» и «HostContainer».