Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. // Instancia o inAppBrowser com o código para dispositivos iOS
  2. var ref = cordova.InAppBrowser.open($parameters.URLIn, '_blank', 'location=no,hidenavigationbuttons=yes,hideurlbar=yes,closebuttoncolor=#ffffff,toolbarcolor=#003365,lefttoright=yes,closebuttoncaption=Back,hidespinner=yes,enableViewportScale=yes,toolbarposition=top');
  3.  
  4.  
  5. // Se o disp+ositivo for android instancia o browser de forma propria para estes dispositivos
  6. if(isAndroid())
  7. {
  8. ref = cordova.InAppBrowser.open($parameters.URLIn, '_blank', 'location=yes,hidenavigationbuttons=yes,hideurlbar=yes,closebuttoncolor=#ffffff,toolbarcolor=#003365,lefttoright=yes');
  9. }
  10.  
  11.  
  12. /*
  13. * Abre uma Instância do Browser no contexto da aplicação
  14. * para fazer donwload dos ficheiros referentes a CRC e BCB
  15. */
  16. ref.addEventListener('loadstop', function(event) {
  17. if (event.url.indexOf('/Home/DownloadFile') != -1) {
  18.  
  19. // Cria o O caminho para o ficheiro no dispositivo
  20. var devicePathDownload = createDevicePathDownload();
  21.  
  22. //Cria a instância do filetransfer
  23. var fileTransfer = new FileTransfer();
  24.  
  25. // Faz o download do ficheiro e abre o mesmo no dispositivo
  26. downloadFile(event.url, devicePathDownload);
  27. }
  28. });
  29.  
  30.  
  31. /*
  32. * Efetua o download do ficheio para o dispositivo do utilizador
  33. */
  34. function downloadFile(uri, devicePathDownload)
  35. {
  36. //Cria a instância do filetransfer
  37. var fileTransfer = new FileTransfer();
  38.  
  39. fileTransfer.download(
  40. uri,
  41. devicePathDownload,
  42. function(entry)
  43. {
  44. fileOpen(devicePathDownload);
  45. },
  46. function(error)
  47. {
  48. console.log('Error status: ' + error.status + ' - Error target: ' + error.target + ' - Error code: ' + error.code);
  49. },
  50. false,
  51. {
  52. headers: {
  53. "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
  54. }
  55. }
  56. );
  57. }
  58.  
  59.  
  60. /*
  61. * Abre o ficheiro PDF no dispositivo com uma das aplicação do utilizador
  62. * A aplicação para abrir o ficheiro depende das predefinições do utilizador para abrir ficheiros PDF
  63. */
  64. function fileOpen(devicePathDownload)
  65. {
  66. cordova.plugins.fileOpener2.open(
  67. devicePathDownload,
  68. 'application/pdf',
  69. {
  70. error : function(e) {
  71. console.log('Error status: ' + e.status + ' - Error message: ' + e.message);
  72. },
  73. success : function () {
  74. }
  75. });
  76. }
  77.  
  78.  
  79. /*
  80. * Cria o caminho para a pasta Downloads no dispositivo (Android ou iOS)
  81. * Retorna o caminho para o ficheiro no dispositivo de acordo com o sistema operativo
  82. */
  83. function createDevicePathDownload()
  84. {
  85. // Cria o nome do ficheiro
  86. var nameFile = CreateNameFile();
  87.  
  88. // Cria o caminho para o ficheiro (por default cria o caminho para iOS)
  89. var devicePathDownload = 'cdvfile://localhost/persistent/path/to/' + nameFile;
  90.  
  91. if(isAndroid())
  92. {
  93. devicePathDownload = '/storage/emulated/0/path/to/file/' + nameFile;
  94. }
  95.  
  96. return devicePathDownload;
  97. }
  98.  
  99.  
  100. /*
  101. * Verifica se o dispositivo é Android
  102. * Retorna True no caso de sucesso e false caso contrario
  103. */
  104. function isAndroid()
  105. {
  106. var userAgent = navigator.userAgent.toLowerCase();
  107.  
  108. return userAgent.indexOf("android") > -1;
  109. }
  110.  
  111.  
  112. /*
  113. * Cria o nome do ficheiro
  114. */
  115. function CreateNameFile()
  116. {
  117. //Cria o nome do ficheiro
  118. var nameFile = 'Mapa.pdf';
  119.  
  120. if (urlFile.indexOf('bcbweb') != -1)
  121. {
  122. nameFile = 'Mapa_BCB.pdf';
  123. }
  124. else if(urlFile.indexOf('crcweb') != -1)
  125. {
  126. nameFile = 'Mapa_CRC.pdf';
  127. }
  128.  
  129. return nameFile;
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement