Pdf.js: Como posso abrir links para uma nova guia / janela

Criado em 3 nov. 2016  ·  4Comentários  ·  Fonte: mozilla/pdf.js

Tudo funciona bem, mas não consigo alterar o comportamento dos links. Encontrei LinkTarget no arquivo pdf.js, mas como devo alterar essa string para que realmente funcione?

Comentários muito úteis

Não sei se isso ajuda alguém, mas em alguns exemplos neste repositório PDFJSLIB.PDFLinkService é usado para renderizar links. Definir PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK; não funcionou com esta implementação, mas o código abaixo funcionou.

    pdfLinkService = new PDFJSLIB.PDFLinkService({
      externalLinkTarget: 2
    });

Todos 4 comentários

Como não há informações fornecidas sobre como você está usando PDF.js, por exemplo, apenas a API ou o visualizador padrão inteiro, a abordagem geral para especificar o atributo target é colocar, por exemplo

PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK;

em algum lugar antes da chamada PDFJS.getDocument(...) em seu código.
Consulte global.js para obter uma lista dos valores possíveis que PDFJS.externalLinkTarget aceita.

Fechando conforme respondido.

Não sei se isso ajuda alguém, mas em alguns exemplos neste repositório PDFJSLIB.PDFLinkService é usado para renderizar links. Definir PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK; não funcionou com esta implementação, mas o código abaixo funcionou.

    pdfLinkService = new PDFJSLIB.PDFLinkService({
      externalLinkTarget: 2
    });

@Snuffleupagus eu tentei

PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK;

ao invés de:

PDFJS.openExternalLinksInNewWindow = ( PDFJS.openExternalLinksInNewWindow === undefined ? false : PDFJS.openExternalLinksInNewWindow);

mas infelizmente sem efeito :( O que mais posso fazer para verificar ou experimentar?

Executando Opigno LMS = Drupal 7 que usa /sites/all/libraries/pdf.js/build/pdf.js

ATUALIZAR:
Depois de atualizar do pdf 7.x-1.9 para a versão atual 7.x-1.x-dev com drush e limpar o cache, ele está funcionando agora :)

Na verdade, depois de removê-lo novamente, ele ainda está funcionando, talvez esteja integrado na nova versão dev do módulo drupal.

app.js :
let pdfLinkService = new PDFLinkService({ eventBus, externalLinkTarget: 2, externalLinkRel: AppOptions.get('externalLinkRel'), });

Esta página foi útil?
1 / 5 - 1 avaliações