在PhantomJS中加载页面时,我无法连接到Firebase。在浏览器中连接工作正常。
的index.html
<!DOCTYPE html>
<html>
<body>
<div id="connection"></diV>
</body>
<script src="https://cdn.firebase.com/js/client/2.2.2/firebase.js"></script>
<script src="index.js"></script>
</html>
index.js
var output = document.getElementById('connection');
var ref = new Firebase('https://xxxx.firebaseio.com/');
ref.child('.info/connected').on('value', function(connectedSnap) {
if (connectedSnap.val() === true) {
output.textContent = 'connected';
} else {
output.textContent = 'disconnected';
}
});
当我在浏览器中运行http server
并打开localhost:8080
时,我可以看到从disconnected
到connected
的连接状态切换。
test.js
var page = require('webpage').create();
page.open('http://localhost:8080', function() {
setInterval(function() {
var connectionStatus = page.evaluate(function() {
return document.getElementById('connection').textContent;
});
console.log('Firebase status:', connectionStatus);
}, 2000);
});
当我在PhantomJS(运行phantomjs test.js
)中执行相同操作时,连接状态永远不会得到connected
。我看不到任何错误消息(即使我记录错误)所以我不知道出了什么问题。任何的想法?谢谢。