Olá pessoal, hoje não vim pedir ajuda, mas compartilhar uma solução.
Recentemente atualizamos nosso sistema para o OJS 3.5 e o plugin PDF.JS Visualizador de PDF (PDF.JS PDF Viewer) parou de funcionar corretamente. O leitor ainda conseguia baixar o arquivo, mas não era possível visualizá-lo online.
A solução que funcionou para nós veio de uma discussão no fórum da PKP (não to conseguindo achar o link original. Deixo como resposta depois, quando eu achar).
Erro encontrado
O erro que aparece é semelhante a este:
Para verificar se você está enfrentando o mesmo problema:
- Abra a página de leitura do PDF.
- Pressione Ctrl + Shift + I para abrir o Inspecionar do navegador.
- Vá até a aba Console.
Se for o mesmo caso, aparecerá um erro semelhante a este:
Failed to load module script: Expected a JavaScript-or-Wasm module script but the server responded with a MIME type of "". Strict MIME type checking is enforced for module scripts per HTML spec.
Failed to load module script: Expected a JavaScript-or-Wasm module script but the server responded with a MIME type of "". Strict MIME type checking is enforced for module scripts per HTML spec.
Causa do problema
O problema parece estar relacionado ao MIME type para arquivos JavaScript (.mjs).
Solução
É necessário editar o arquivo .htaccess do OJS.
Esse arquivo está localizado na pasta raiz da instalação do sistema (a mesma onde está o config.inc.php).
O conteúdo padrão do .htaccess pode ser algo como:
# php -- BEGIN cPanel-generated handler, do not edit
# Defina o pacote “ea-php82” como a linguagem padrão de programação “PHP”.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php82___lsphp .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
Adicione ao final do arquivo o seguinte código:
# Add. solution for PDF Viewer problem in OJS 3.5
<IfModule mod_mime.c>
AddType text/javascript mjs
</IfModule>
Obs.: Não é necessário apagar o código atual.
Após a alteração
- Salve o arquivo
.htaccess. - Recarregue a página onde o PDF é exibido.
Em muitos casos não é necessário reiniciar o servidor. Por exemplo, em hospedagens como Hostgator, a alteração passa a valer imediatamente.
Se tudo estiver correto, o PDF deverá voltar a aparecer no visualizador online. Recomendo testar em diferentes navegadores. Assim, você pode ter tranquilidade que está funcionando perfeitamente.
Informações adicionais
- Versão do sistema: 3.5.0.3
- Perfil: instalação independente (acesso ao servidor necessário)
- Portal: https://voxscripturae.com.br/index.php/revista/pt_BR
