2015-02-08 80 views
0
var account; 
var users = ["********"]; 
var password = "*********"; 
var gameId = 126945035 //Put your game ID here 

for (account = 0; account < users.length; account++) { 
    window.location.assign('www.roblox.com'); 
    $(document).ready(function(){ 
     document.getElementById("LoginUsername").value = users[account]; 
     document.getElementById("LoginPassword").value = password; 
     document.getElementById('LoginButton').click(); 
     setTimeout(function(){ 
     window.location.assign('http://www.roblox.com/Game/PlaceLauncher.ashx?request=RequestGame&placeId=' + gameId); 
      setTimeout(function(){ 
      window.location.assign('http://www.roblox.com/---place?id=' + gameId); 
       $('.upvote').click(); 
      }, 1000); 
     }, 1000); 
    }); 
}; 

當我運行它,它應該登錄到帳戶,似乎正在工作,但在使用setTimeout()後,它不會運行任何事情後。setTimeout()沒有運行?

所有的*都是我無法分享的信息。

+0

出於好奇,爲什麼你的代碼直接面向roblox.com? – leDominatre 2015-02-08 18:15:57

+0

我正在做一些事情來自動登錄,然後'豎起大拇指'的地方。 – sinblade 2015-02-08 18:20:49

回答

0

這是因爲您正在離開當前網頁的第一個setTimeout。這不是由setTimeout函數引起的,而是你離開頁面的事實。

Location.assign()方法使窗口加載並顯示URL參數的頁面。

這基本上意味着,當你觸發window.location.assign('url')時,你強制頁面重新加載。這會停止處理任何其他代碼行。

您可能會想要麼

一)發出Ajax請求來初始化認證過程

b)利用傳統的後回請求到第一URL的請求的狀態保存在session中。工作流中訪問的第二頁將具有適當的憑證。

+0

我完全不熟悉ajax,你能舉個例子說明我在這種情況下如何使用它嗎? – sinblade 2015-02-08 18:19:49

+0

如果沒有更深入的應用知識,這很難回答。你可能只想創建一個帶認證URL的表單作爲一個動作,一個成功的文章將重定向到第二個URL。 – Seth 2015-02-08 18:57:12

+0

我不是那種先進的,但我認爲這就是我要去的。我希望它能夠登錄,這就是所有元素的用途,然後我想去鏈接,欺騙網站說我已經訪問了遊戲,之後它會導航到遊戲的URL,然後點擊.upvote類。 – sinblade 2015-02-08 20:06:22