2013-03-16 2 views
0

현재 백그라운드 프로세스가 항상 비활성 상태가되는 경우에도 웹 소켓에서 데이터를 기다리고 있습니다. 이것을 피할 수있는 방법이 있습니까? 이 부서에서는 문서가 명확하지 않습니다 (예전 문서 등). 이렇게하는 '새로운'올바른 방법은 무엇입니까?크롬 패키지 앱에서 웹 소켓을 계속들을 수 있습니까?

내 매니페스트 파일 :

{ 
    "name": "Media 5", 
    "manifest_version": 2, 
    "description": "Html5 media center app for Chrome", 
    "version": "0.1", 
    "app": { 
    "background": { 
     "persistent": true, 
     "scripts": ["background.js"] 
    } 
    }, 
    "icons": { "16": "small_icon.png", "128": "big_icon.png"  }, 
    "sandbox": { 
    "pages": ["sandbox.html"] 
    }, 
    "permissions": [ 
    "unlimitedStorage", 
    "fullscreen", 
    "notifications", 
    "webview" 
    ] 
} 
+0

패키지 된 앱이나 v2 앱에 대해 묻고 있는지 여부를 알 수 있도록 매니페스트를 게시 하시겠습니까? – sowbug

+0

질문을 변경하고 매니페스트 파일을 추가했습니다. –

답변

2

여기에 열거 된 방법을 포함하여 언로드하기에서 이벤트 페이지를 방지하기 위해 많은 방법이 있습니다 : http://developer.chrome.com/extensions/event_pages.html가. 그 중 하나를 시도하십시오. 메시지 포트를 열거 나 약 5 초 간격으로 chrome.alarms 알람을 설정하십시오. 나는 그것이 문서화 된 행동이라고 생각하지 않지만, 이벤트 페이지는 일반적으로 10 초간 활동이 없으면 언로드되므로 경보가 살아 있어야합니다.

나는 이것에 관해 a bug을 신청했다. 웹 소켓을 사용하는 경우 언로드를 피하는 것이 더 스마트해질 수 있습니다.

1

패키지 된 앱을 활성 상태로 유지하는 또 다른 방법은 활성 콜백입니다. 예를 들어, setTimeout과 timeout 값을 5로 설정하면 앱이 살아 있는지 확인할 수 있습니다. 이것은 일시적인 해결책 일 뿐이며 웹 소켓과 패키지 된 앱의 수명을 조정하는 더 좋은 방법이 있어야합니다.

이 문제를 추적하는 Chromium 버그 (https://code.google.com/p/chromium/issues/detail?id=204573)가 있습니다.

참고로 (혼란 스럽기 때문에) 현재 "영구적 인"사실 라인은 Chrome에서 무시됩니다. 패키지 애플리케이션 (v2)은 항상 "영구적"으로 설정됩니다.

관련 문제