2013-11-22 2 views
0

저는 자습서를 실행하고 기본적인 Windows 8.1 저장소 응용 프로그램을 작성했습니다. 앱에는 애셋 폴더에 저장된 PDF 파일에 대한 다양한 링크가 포함되어 있으며 기본적으로 Windows 리더에서 열려고 시도합니다.Windows 8.1 스토어 응용 프로그램에서 다양한 pdfs 열기

지금까지 완벽하게 한 번 열리는 하나의 PDF 파일이 있습니다. 클릭 함. 그러나 필자는 filetoLaunch 변수에 지정된 파일뿐만 아니라 모든 PDF 파일에서 작동해야합니다.

(function() { 
"use strict"; 

WinJS.UI.Pages.define("/pages/page/page.html", { 

    ready: function (element, options) { 
     document.getElementById("file").addEventListener("click", launchFile, false); 

    } 
}); 

var fileToLaunch = "assets\\mypdf.pdf"; 

function launchFile() { Windows.ApplicationModel.Package.current.installedLocation.getFileAsync(fileToLaunch).done(
     function (file) { 
      Windows.System.Launcher.launchFileAsync(file).done(
       function (success) { 
        if (success) { 
         WinJS.log && WinJS.log("File " + file.name + " launched.", "sample", "status"); 
        } else { 
         WinJS.log && WinJS.log("File launch failed.", "sample", "error"); 
        } 
       }); 
     }); 
} 

는 기본적으로 나는 모든 PDF 파일을 정의하는 filetoLaunch 변수를 변경하지 그냥 하나 하나하는 방법을 알아낼 수 없습니다.

모든 아이디어가 우수 할 것입니다. 감사.

답변

0

해당 기능에서 파일 이름을 전달하십시오.

전체 파일 경로를 지정하기 만하면됩니다.

HTML

<button onclick="fileLauncher('Database.txt')">Database.txt</button> 
<button onclick="fileLauncher('Modules.txt')">Modules.txt</button> 
<button onclick="fileLauncher('My_Comments.pdf')">My_Comments.pdf</button> 

JS

function fileLauncher(fileName) { 

    var fileToLaunch = "Assets\\"+fileName; 

    Windows.ApplicationModel.Package.current.installedLocation.getFileAsync(fileToLaunch).done(
      function (file) { 
       Windows.System.Launcher.launchFileAsync(file).done(
        function (success) { 
         if (success) { 
          WinJS.log && WinJS.log("File " + file.name + " launched.", "sample", "status"); 
         } else { 
          WinJS.log && WinJS.log("File launch failed.", "sample", "error"); 
         } 
        }); 
      }); 

} 
관련 문제