我的JavaScript中有一個(gè)循環(huán)在不斷檢查變量EventCounter,如果eventcounter為零,則它會(huì)繼續(xù)執(zhí)行操作,然后遞增++,然后它什么也不做,直到變量更改,這是代碼:EventCounter = {{eg.globals.EventCounter}}; for(var i = 0; i < n; ++i) { r = rects[i]; ctx.strokeRect((r.x*sc)|0,(r.y*sc)|0,(r.width*sc)|0,(r.height*sc)|0); window.rects = rects[i]; //console.log(EventCounter); if (EventCounter === 0) { console.log("event counter is" + EventCounter) //setTimeout( function () {document.getElementById("sb").click()}, 5000) EventCounter++ console.log("event counter is now " + EventCounter); } } }現(xiàn)在,EventCounter全局變量從Web服務(wù)器(其python Web服務(wù)器及其python變量)獲取其值。但是我的問(wèn)題是如何檢測(cè)Web服務(wù)器上的變量已更改?一個(gè)ajax請(qǐng)求吧?我將如何請(qǐng)求變量值來(lái)檢測(cè)它是否已更改,以便循環(huán)可以再次運(yùn)行?(**該服務(wù)器與PHP不兼容)
4 回答

jeck貓
TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以像Mike W建議的那樣使用WebSocket。
您也可以在python服務(wù)器上編寫一個(gè)腳本,該腳本在調(diào)用時(shí)返回JSON,然后在JSON文件中包含所需的變量及其值。所有瀏覽器都將支持此功能,而不僅僅是WebSockets要求的現(xiàn)代瀏覽器。

POPMUISE
TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊
看一下WebSockets,它允許服務(wù)器在建立連接后隨時(shí)向?yàn)g覽器發(fā)送消息。您可以使用Javascript事件處理程序處理傳入的消息,從而避免了連續(xù)輪詢的需要。
所有主流瀏覽器(包括IE10)都支持WebSockets。當(dāng)然,您必須確保您的服務(wù)器應(yīng)用程序也可以支持WebSockets。
添加回答
舉報(bào)
0/150
提交
取消