2014-10-12 13 views
0

요청에 따라 앱을로드하려고했습니다. 내 애플 리케이션에 의해 만들어진 프로젝트 디렉토리에서 글꼴을 읽으려고했는데 필요한 모든 정보를 읽는다.런타임에 CSS를로드하는 것이 반 실패/반 성공입니다.

우선, 어도비 에어에 app-storage : //가 있는지 알아 보는 방법이 있는지 물어보고 싶습니다. 그 이유는 나를 죽이는 것이기 때문입니다! 예를 들어 JS를 통해 런타임에 새로로드 된 글꼴이있는 스타일 시트와 같이 응용 프로그램과 장소에서 런타임시 읽을 임시 파일을 만들 수 없습니다.

하나가 있다면 알려 주시기 바랍니다 !!!

답변

0

이제 매우 더러운 해결책입니다. 내 솔루션에 의존

그냥 모두를 알려 :

  1. 는 사용자의 프로젝트 글꼴을 softlinking
  2. 를 (반드시이 가지고) 관리자 권한으로 응용 프로그램을 실행 이것은 내가 지금까지 한 일이다 폴더. 더와 함께 /// :

    • 웹킷은에서 나오는 전선 렌더링 할 수 없습니다 "파일 : ///"URL

    내가 파일을 사용하여 시도했다

이제 사실을 얻을 수 없습니다 성공을 거두었으며 SVG 글꼴을 base64로 변환하는 것도 그 트릭을 전혀 사용하지 않았습니다. 런타임 스타일 시트에서 수행하는 작업은 훨씬 더 어려워서 명령 프롬프트에 의존해야하는 솔루션을 찾고있었습니다. 지금은 내가 창에서이 작업을 실행하고 작동하고있어 진주 : 그래서 여기에서

var WinDoExec = function(cmdline){ 
    var echoCmd = ["C:\\Windows\\System32\\cmd.exe","/C"]; 
    echoCmd = $.merge(echoCmd,cmdline); 
    console.log(echoCmd); 
    var echo = Ti.Process.createProcess(echoCmd); 

    echo.setOnReadLine(function(data) { 
     console.log(data.toString()); 
    }); 
    echo.stdout.attach(echo.stdin); 
    echo.launch(); 
}; 

, 나는 mklink를 만들 응용 프로그램 글꼴 디렉토리에 대한 사용자의 프로젝트 글꼴 폴더에서 NTFS (소프트 링크)를 가지고, 그래서

그 런타임에 액세스 할 수 있습니다. 런타임에서 응용 프로그램에 소프트 링크를 생성이와

WinDoExec(["mklink","/D","C:\\Program Files(x86)\\myapp\\Resources\\assets\\fonts\\userfonts","C:\\Users\\windowsuser\\projectAppFolder\\ProjectName\\Fonts"]); 

는 런타임 응용 프로그램으로 사용자의 프로젝트에 대한 사용자 지정 글꼴을로드의 문제 ...이 좀 "학대"알고

를 해결 프로그램 환경,하지만 난 정말 거기에 런타임에 물건을 처리하기 위해 URL 액세스 경로 (예 : 저장소 URL 경로 또는 임시 URL 경로) 응용 프로그램에 대한 방법이 있었으면 좋겠다. 임시 url 컨테이너 폴더에 글꼴을 복사하고 app 시스템 폴더에 전혀 영향을주지 않고 내 작업을 수행 할 수 있습니다.

tidekit 사용자가이 글을 읽으면 개발자가 런타임에 복사 할 수있는 임시 객체 (예 : 사용자의 svg/ttf 파일)에 대한 액세스 가능한 URL 경로를 허용하십시오.

감사합니다.