2012-08-24 75 views
0

我正嘗試在iOS PhoneGap 2.0應用程序中使用新發布的Urban Airship插件實現推送通知。當我從所提供的示例應用程序中加載index.html到我的項目中時,一切正常。但是,當我使用我的應用程序的index.html時,push變量無法訪問其原型函數。具體地,在樣品應用UA PhoneGap 2.0插件無法在iOS上正確初始化

document.addEventListener("deviceready", function() { 
    push = window.PushNotification; 
    console.log(typeof window.PushNotification); => 'function' 
    console.log(typeof push);     => 'object' 

但在應用產率相同的代碼:

console.log(typeof push); => 'function' 

因此push.enablePush()或任何其他原型函數不是調用。我已經嘗試過解決方法,但是最終他們通過設備註冊破壞了功能。我不知道爲什麼會發生這種情況,儘管我懷疑它可能與在觸發事件之前執行的另一個插件或代碼發生衝突。

雖然我確定原因是一個非常具體的問題,但我並不真正瞭解如何將變量分配給函數對象本身會導致變量存儲實例化對象。這不是new的用途嗎?爲什麼它在他們的代碼中工作,但不是我的?

回答

1

希望通過UA團隊跟進此事。

查看樣本index.html(第20行)和PushNotification.js (第261行)。該方法index.html訪問插件是這樣的:

push = window.pushNotification 

注意駝峯pushNotification,如 計算器問題不是PushNotification

PushNotification.js,我們通過調用初始化插件:

window.pushNotification = new PushNotification(); 

所以PushNotification確實是一個功能,只是插件使用自行啓動的功能。

糾正案件應該解決這個問題。

讓我知道這是否解決了這個問題。