2012-01-07 2 views
2

바탕 화면 알림에 일부 매개 변수를 보내고 싶지만 가져올 수 없습니다.크롬 확장 데스크톱 알림 보내기 매개 변수 가져 오기

는 그 코드로 통지를 엽니 다 브라 반트 내 변수

var notification = webkitNotifications.createHTMLNotification(
    '../html/notification.html?data='+nb 
); 

입니다.

notification.html :

<!DOCTYPE html> 
<html> 
<head> 
<title>Notification</title> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script type="text/javascript" src="../js/notification.js"></script> 
</head> 
<body> 
    <div id="message">Vous avez <span></span></div> 
</body> 
</html> 

notification.js :

function getUrlVars() { 
    var vars = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
    for (var i = 0; i < hashes.length; i++) { 
     hash = hashes[i].split('='); 
     vars.push(hash[0]); 
     vars[hash[0]] = hash[1]; 
    } 
    return vars; 
} 
var first = getUrlVars()['data']; 

$('#message span').html(first +' nouveau message'); 

결과는 예를 들어 "1 있니 누보 메시지 avez"대신 "있니 avez"이다.

내 notification.js가로드되었는지 확인했습니다. "첫 번째"의 값을 확인하는 방법은 무엇입니까? 해당 JS 코드를 디버깅하는 방법? 또는 URL에서 GET 매개 변수를 검색하는 더 나은 방법이 있습니까?

고맙습니다.

감사합니다.

답변

4

쿼리 문자열은 JS와 쉽게 구문 분석되도록 설정되어 있지 않습니다. String 하나만 전달하면됩니까? 두 개 이상의 변수를 전달해야하는 경우

$('#message span').html(window.location.hash.substr(1) + ' nouveau message'); 

, 당신은을 사용할 수 있습니다 notification.js에서 다음

var notification = webkitNotifications.createHTMLNotification('../html/notification.html#' + nb); 

:

그렇다면 대신 쿼리 문자열의 해시를 사용 캐릭터 라인 JSON 개체 : notification.js에서 다음

var data = { 
     var1: "somedata", 
     var2: 12345 
    },  
    notification = webkitNotifications.createHTMLNotification('../html/notification.html#' + JSON.stringify(data)); 

:

당신이 구문 분석 오류가 나타나면
var data = JSON.parse(window.location.hash.substr(1)); 
$('#message span').html('var1 is ' + data.var1 + ' var2 is' + data.var2); 

사용 할 수 있습니다 encodeURIComponenet()decodeURIComponent()

+0

그것은 두 번째 방법으로 작동합니다, 나는 JQuery와 .ready() – Syl

+0

아와 notification.js에 내 코드를 포장하는 것을 잊었다, 그 할거야. 다행 이네. –

관련 문제