2012-07-05 3 views
0

WinJS Windows Metro 응용 프로그램에서 작업하고 있으며 내 페이지 중 하나에서 배경으로 표시 할 이미지의 URL을 얻고 있습니다. 나는 url (이미지의 URL)을 사용하고 style.backgroundImage로 설정하여 잘 작동하도록 할 수있다.Windows Metro App에서 배경 캐싱

링크 된 페이지에서 동일한 이미지를 사용해야하지만 이는 피하려고하는 또 다른 HTTP 요청을해야한다는 것을 의미합니다. 대안을 살펴본 후 LocalFolder를 옵션으로 찾았습니다. 유일한 문제는 파일에 액세스하여 배경으로 설정하는 방법을 모르겠다는 것입니다.

웹 캐스팅을 줄이기 위해 데이터를 캐싱하는 것이 올바른 방법입니까?

function saveBackground(url) { 
    localFolder.createFileAsync("background.jpg", Windows.Storage.CreationCollisionOption.replaceExisting).then(function (newFile) { 
     var uri = Windows.Foundation.Uri(url); 
     var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader(); 
     var promise = downloader.createDownload(uri, newFile); 
     promise.startAsync().then(function() { 
      //set background here. 
      var wrapper = document.getElementById("wrapper").style; 
      localFolder.getFileAsync("background.jpg").then(function (image) { 

       console.log(image.path); 
       var path = image.path.split(""); 
       var newLocation = []; 
       //This is just to make the backslashes work out for the url() 
       for (var i = 0; i < path.length; i++) { 
        if (path[i] != '\\') { 
         newLocation.push(path[i]); 
        } else { 
         newLocation.push('\\\\'); 
        } 
       } 
       console.log(newLocation); 
       var newPath = newLocation.join(""); 
       var target = "url(" + newPath + ")"; 
       wrapper.backgroundImage = target; 
       console.log(wrapper.backgroundImage); 
       wrapper.backgroundSize = "cover"; 

      }); 
     }); 
    }); 
} 

답변

0

그것은 당신이 전송하고자하는 방법이 많은 이미지의 종류에 따라 달라집니다

여기 내가 사용하는 코드입니다. 무거운 이미지가 하나도없고 무거운 이미지가있는 경우 (< 5Mo 정도) WinJS.xhr을 사용하면 데이터를 다운로드 할 수 있고 더 중요한 것은 데이터를 다운로드하는 것이 중요하다는 것입니다.

BackgroundTransfer은 동영상, 음악, 큰 이미지와 같은 큰 데이터에 사용해야합니다.

이미지의 캐싱에 관해서는 물론 물론 로컬 폴더로 할 수 있습니다. (물론 이렇게해야합니다).

당신은

http://blogs.msdn.com/b/eternalcoding/archive/2012/06/15/how-to-cook-a-complete-windows-8-application-with-html5-css3-and-javascript-in-a-week-day-0.aspx

희망이 도움이 정말 좋은입니다 데이비드 Catuhe에 의해 만들어진 문서의이 시리즈를 살펴 보셔야합니다.

관련 문제