我已經開始打了一下,用火力地堡和PhoneGap的(目前僅適用於Android,使用Adobe的在線生成工具)。我從他們的網站上獲取了Firebase聊天示例,並將它幾乎'按原樣'粘貼到index.html頁面,並與phonegap config.xml一起捆綁。 當我的android手機上運行帶有單個index.html的應用程序時 - 它運行100%。 當我將它移動到某個內部頁面(即chat.html)時,鏈接到index.html,我可以收到傳入的聊天記錄,但沒有人會出去。看起來像某些東西不能正確加載,即使相同的代碼出現在index.html上時也是如此。火力地堡與PhoneGap的 - 完美的作品index.html頁面上,而在其他頁面部分工作
我的猜測是,它在某種程度上關係到我陳述的引用文件,其順序和位置。
下面是我的代碼片段,如果需要,我可以說出更多一些:
上的config.xml:
<feature name="http://api.phonegap.com/1.0/device" />
<feature name="http://api.phonegap.com/1.0/notification"/>
<access origin="*" />
上的index.html:
<script type="text/javascript" charset="utf-8" src="cordova-2.2.0.js"></script>
<script type="text/javascript" src="firebase.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="my.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
上聊天。 html我評論了所有的腳本標籤(當然也嘗試過所有的腳本標籤都存在(未註釋),結果相同)。
my.js(完成):
$(document).on("mobileinit", function() {
// Make your jQuery Mobile framework configuration changes here!
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
});
$(document).ready(function() {
// Get a reference to the root of the chat data.
var messagesRef = new Firebase('https://alon.firebaseio.com/');
$('.send-action').click(function() {
var name;
if (navigator.platform == 'Win32') {
name = 'me';
} else {
name = device.name + ' (' + device.uuid + ')'; //$('#nameInput').val();
}
var text = $('#messageInput').val();
messagesRef.push({ name: name, text: text });
$('#messageInput').val('');
});
// Add a callback that is triggered for each chat message.
messagesRef.on('child_added', function (snapshot) {
var message = snapshot.val();
$('<div/>').text(message.text).prepend($('<em/>').text(message.name + ': ')).appendTo($('#messagesDiv'));
$('#messagesDiv')[0].scrollTop = $('#messagesDiv')[0].scrollHeight;
if (message.name != device.name + ' (' + device.uuid + ')') {
navigator.notification.beep(1);
}
});
});
謝謝!
我感謝大家誰讀這一個,但我已經決定把我的所有頁面的單index.html文件。 jQuery支持自動隱藏/顯示標籤,所以它相當容易。 而上述作品(如上所述,它已經在第一頁時已經工作)。 –
Alon