2012-02-23 16 views
2

iOS phonegap(v 1.3)アプリをビルドしました。そのページには、.pptxファイルをダウンロードするボタンがあります。Phonegap iOSアプリでファイルを表示/ダウンロードする

<a href="'+downloadUrl+'" target="_blank">Download file</a> 

ボタンのhrefは、私のウェブサイトのダウンロードリンクを示しています。リンクをクリックすると自動的にファイルがダウンロードされます。
リンクをクリックすると、ファイルはダウンロードされますが、同じビューで開きます。 pptxのすべてのスライドが上下に来て、全画面を占めます。私のアプリを殺して再起動する以外に、私のアプリに戻る方法はありません。私はtarget = "_blank"、 "_tab"を試してみましたが、何も動かず、すべてが画面上のスライドと同様の動作になり、私のアプリに戻ることはできません。

.pptxファイルを別のビューで開いた方が良いでしょうか、まったく開いていないだけで、アンドロイドのように保存されますか? plsヘルプ。

答えて

2

私はあなたのサンプルコードに従って、このプラグインでファイルをダウンロードして表示するための

PhoneGap plugin for downloading URL

1

を見てみることができると思います。

はあなたのindex.htmlにちょうど </head>タグ上記のコードを含め

<script type="text/javascript" charset="utf-8"> 
     // Wait for Cordova to load 
    document.addEventListener("deviceready", onDeviceReady, false); 
    // Cordova is ready 
    function onDeviceReady() { 
     alert("Going to start download"); 
     downloadFile(); 
    } 

    function downloadFile(){ 
     window.requestFileSystem(
           LocalFileSystem.PERSISTENT, 0, 
           function onFileSystemSuccess(fileSystem) { 
           fileSystem.root.getFile(
                 "dummy.html", {create: true, exclusive: false}, 
                 function gotFileEntry(fileEntry){ 
                 var sPath = fileEntry.fullPath.replace("dummy.html",""); 
                 var fileTransfer = new FileTransfer(); 
                 fileEntry.remove(); 
                 fileTransfer.download(
                       "http://www.w3.org/2011/web-apps-ws/papers/Nitobi.pdf", 
                       sPath + "theFile.pdf", 
                       function(theFile) { 
                       console.log("download complete: " + theFile.toURI()); 
                       showLink(theFile.toURI()); 
                       }, 
                       function(error) { 
                       console.log("download error source " + error.source); 
                       console.log("download error target " + error.target); 
                       console.log("upload error code: " + error.code); 
                       } 
                       ); 
                 }, 
                 fail); 
           }, 
           fail); 
    } 
    function showLink(url){ 
     alert(url); 
     var divEl = document.getElementById("deviceready"); 
     var aElem = document.createElement("a"); 
     aElem.setAttribute("target", "_blank"); 
     aElem.setAttribute("href", url); 
     aElem.appendChild(document.createTextNode("Ready! Click To Open.")) 
     divEl.appendChild(aElem); 
    } 
    function fail(evt) { 
     console.log(evt.target.error.code); 
    } 

    </script> 

参照してください: - Blog Post

関連する問題