从设备上的角度应用程序打开pdf文档

时间:2016-06-01 07:04:35

标签: cordova iframe

我正在尝试开发一个我可以提供给客户的页面,这样他们就可以将页面作为iframe包含在他们现有的角度应用中。我需要列出用户docsallo,以便从我在pdf中提供的页面打开应用上的iframe文档。

我正在使用$cordovaFileTransfer从服务器下载文件,并$cordovaFileOpener2尝试在设备上打开文件,如果构建我的应用程序但是当我尝试将其作为Iframe我收到"Cordova is not defined"错误,因此即使cordova在父页面上运行,也无法从iframe访问$scope.getFile = function(){ if(window.cordova){ var url = $scope.url; var filename = url.split("/").pop(); alert(filename); var targetPath = cordova.file.externalRootDirectory + filename; var trustHosts = true; var options = {}; alert(cordova.file.externalRootDirectory); $cordovaFileTransfer.download(url, targetPath, options, trustHosts) .then(function(result) { // Success! console.log('here1: ',JSON.stringify(result)); //alert(JSON.stringify(result)); $cordovaFileOpener2.open( targetPath, 'application/pdf' ).then(function() { console.log('Success here'); }, function(err) { console.log('An error occurred here: ' + JSON.stringify(err)); }); }, function(error) { // Error console.log('here2: ',JSON.stringify(error)); //alert(JSON.stringify(error)); }, function (progress) { $timeout(function () { $scope.downloadProgress = (progress.loaded / progress.total) * 100; }) }); }else{ alert('Error: Cordova is not defined'); } 。还有另一种方法可以解决这个问题吗?

这是当用户点击查看文件时调用的函数,正如我所提到的那样,如果我构建一个独立的应用程序,那就完美了:

{{1}}

0 个答案:

没有答案