所以我工作的一個腳本,將是網上節省WhatsApp的每一秒一個人(的WhatsApp網站)不能改變的變量值的JavaScript
,我有這樣的:
//add zeros (run only once)
function addZero(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
//Inject jQuery (run only once)
var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
// make online log
//start
var online = "yes";
var onlineCheck1 = window.setInterval(function() {
var x = $('#main>header>div.chat-body>div.chat-status>span').text()
var name = $('#main>header>div.chat-body>div.chat-main>.chat-title>span').text()
var d = new Date();
if (x == "online") {
var online = "yes";
console.log(d.toLocaleDateString('en-GB') + "|" + addZero(d.getHours()) + ":" + addZero(d.getMinutes()) + ":" + addZero(d.getSeconds()) + " " + name + " " + "was" + " " + "///online///");
} else if (online == "yes") {
console.log("<------------>")
var online = "no";
} else {
var online = "no";
}
}, 1000); //end
,它的日誌,當有人在線,但我希望它把只有一個標記(< ------------>)當人處於脫機狀態,它沒有這樣做。
所以我想要這個腳本做的是:
使變量「在線」的值爲「是」
然後使變量「x」的值爲元素的內部文本(它是在線的或最後一個看到.....)
然後看看x是否在線?那麼將「online」的值更改爲「yes」,如果日期和時間不是
,那麼變量「online」的值是「yes」?然後記錄一個標記(< ------------>)並將「在線」的值更改爲「否」
如果不是?那麼只需將變量「online」的值更改爲「no」並重復。
我不知道發生了什麼問題,但可能是因爲某些原因變量沒有得到改變。
注意:我使用chrome的控制檯在web.whatsapp.com上運行此腳本,因此如果您想查看我的意思,請嘗試使用它。
等待@mrrogers你是對的:) OP刪除'var'關鍵字('在線')在那個函數中;你在覆蓋全球的「在線」聲明。 – Pointy
@Pointy是的,它的工作,謝謝 –