5

manifest.json을Google 크롬 확장 프로그램

{ 
    "manifest_version": 2, 
    "name": "App name", 
    "description": "Description goes here", 
    "version": "1.0",  
    "background": { 
     "scripts": ["background.js"] 
    }, 
    "permissions": [ 
     "tabs", 
     "alarms" 
    ], 
    "browser_action": { 
     "default_icon": "icon.png", 
     "default_popup": "popup.html" 
    } 
} 
이 같은

나는 팝업을하는 함수를 만들려고 "큰"모든 분 chrome.alarms 사용 방법 :

chrome.alarms.onAlarm.addListener(function(){ 
     alert('great'); 
    }); 

누군가 그 경고를 유발하지 않는 이유를 말해 줄 수 있습니까? 콘솔을 확인했는데 오류가 표시되지 않았습니다. 감사.

답변

3

알람을 생성하지 않았으므로 onAlarm 이벤트가 발생하지 않습니다.

chrome.alarms.create으로 알람을 생성하십시오. 참고 : chrome.runtime.onInstalled 이벤트에서 수행해야합니다.

+1

方 觉이 인용 한 페이지의 견본도보십시오. – sowbug

+1

이벤트 페이지의 문서 인용하기 : 리스너 자체는 이벤트 페이지의 컨텍스트에만 존재하기 때문에 이벤트 페이지가로드 될 때마다 addListener를 사용해야합니다. 단지 런타임시에만 실행됩니다. 설치 자체가 충분하지 않습니다. ' –

+0

'onAlarm'리스너에서 어떤 알람이 시작되었는지 어떻게 확인할 수 있습니까? – theonlygusti

13

내가 생각할 수있는 가장 단순한 작업 예제는 다음과 같습니다. 경보가 울리면 12 초마다 "경고음"이 울리는 것처럼 매우 귀찮습니다. 팝업 브라우저 조치를 사용하여 알람을 켜고 끕니다.

manifest.json을

{ 
    "manifest_version": 2, 

    "name": "Alarm test", 
    "description": "This extension alarms.", 
    "version": "1.0", 

    "permissions": [ 
    "alarms" 
    ], 

    "background": { 
    "scripts": ["eventPage.js"], 
    "persistent": false 
    }, 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup.html" 
    } 
} 

popup.html

<!doctype html> 
<html> 
<head> 
<title>Alarms Popup</title> 

<script src="popup.js"></script> 
</head> 
<body> 
<a href="" id="alarmOn">ON</a> 
<a href="" id="alarmOff">OFF</a> 
</ul> 
</body> 
</html> 

popup.js

var alarmClock = { 

     onHandler : function(e) { 
      chrome.alarms.create("myAlarm", {delayInMinutes: 0.1, periodInMinutes: 0.2}); 
        window.close(); 
     }, 

     offHandler : function(e) { 
      chrome.alarms.clear("myAlarm"); 
        window.close(); 
     }, 

     setup: function() { 
      var a = document.getElementById('alarmOn'); 
      a.addEventListener('click', alarmClock.onHandler); 
      var a = document.getElementById('alarmOff'); 
      a.addEventListener('click', alarmClock.offHandler); 
     } 
}; 

document.addEventListener('DOMContentLoaded', function() { 
    alarmClock.setup(); 
}); 

그리고 eventPage.js에서 중요한 비트

chrome.alarms.onAlarm.addListener(function(alarm) { 
    alert("Beep"); 
}); 
+0

'onAlarm '리스너에서 어떤 알람이 시작되었는지 어떻게 확인할 수 있습니까? – theonlygusti

+0

알람의 이름 속성 확인 - https://developer.chrome.com/apps/alarms#type-Alarm –

관련 문제