2010-04-27 2 views
2

OS X 대시 보드 위젯으로 포팅하는 웹 앱이 있습니다. 웹 응용 프로그램은 JavaScript를 사용하여 클라이언트 측에서 일부 데이터를 생성 한 다음 사용자가 저장하려고 할 때 Content-disposition: attachment; HTTP 헤더를 사용하여 데이터를 다시 전달하는 서버 측 스크립트로 전송하여 파일 저장 대화 상자를 트리거합니다. 대부분의 브라우저.OS X 대시 보드 위젯으로 생성 된 파일을 저장하려면 어떻게해야합니까?

대시 보드 환경에서 이것을 복제하려고했습니다. 위젯은 단순히 사라집니다. 모르겠지만 사실 익숙하지 않은 콘텐츠로 이동할 가능성이 있습니다.

"파일 저장 대화 상자"를 실행하려면 어떻게해야합니까? 아니면 위젯이 파일로 생성하는 데이터를 저장하기 위해 어떤 방법을 사용 하시겠습니까?

답변

2

위젯의 목적은 정보를 표시하거나 (인터넷 액세스의 유무에 상관없이) 계산을 수행하거나 또는 정보를 표시하는 것이므로 "파일 저장"대화 상자를 통해 대시 보드 위젯에서 파일을 저장할 수 없다는 것을 알고 있습니다. 제어 애플리케이션. 위젯의 환경 설정에서

  1. 저장 데이터 :

    그러나 당신은 로컬에 데이터를 저장하는 세 가지 옵션이 있습니다. setPreferenceForKey 위젯 메소드를 통해 데이터를 설정하고 preferenceForKey 위젯 메소드를 사용하여 데이터를 검색하십시오. 이것은 데이터가 위젯에 속하고 위젯 외부에서 액세스 할 필요가없는 경우에만 옵션입니다. 또한 데이터 크기가 너무 커야합니다.

  2. 위젯의 system command을 통해 스크립트를 실행하십시오. 여기에서 모든 스크립팅 언어를 사용할 수 있습니다 (sh, perl, ruby, python, AppleScript, ...).

  3. 코코아/목표 -C를 기반으로 작성하십시오 widget plugin.

2

올바른 방법은 저장 대화 상자를 사용할 수있는 코코아 위젯 플러그인입니다.

command = widget.system("/bin/bash -c 'cat - > ~/Desktop/test.txt'", yourHandler); 
command.write("some text"); 
command.close(); 

이 바탕 화면에 파일에 고양이 표준 입력에 떠들썩한 파티를 알려줍니다, 다음 표준 입력에 기록 : 그것을 할 수있는 빠른 방법은 다음과 같이한다.

관련 문제