2015-07-13 92 views
1

我試圖讓一個腳本在遊戲我玩Evony的叫使帳戶時使用。無法獲取JS腳本重定向到不同的頁面

在頁面做一個帳戶,我發現的電子郵件地址和密碼文本框的元素ID,並試圖輸入文本放進去,但我的代碼是不能工作的某些原因。

到創建賬戶頁面的鏈接位於:http://user.evony.com/index.do?PageModule=ForgetPassword

這是我已經試過:

<?php 

?> 
<html> 
    <meta http-equiv="refresh" content="0; URL=http://user.evony.com/index.do?PageModule=ForgetPassword">//loads webpage 
    <script> 
     var email = email; 
     var password = password; 
     var accnumber = 0; 
     function createaccount(){ 
      // Click the button to bring up create acc tab 
      document.getElementById("tab2").click() 

      // If the clicking above doesn't work, 
      // this should manually bring up the tab 
      // to create the acc 
      document.getElementById('tab_login_c').style.display='none'; 

      // Part of above 
      document.getElementById('tab_reg_c').style.display=''; 
      this.className='on'" class="on"> 

      // This is to input the email into the email box 
      document.getElementById('username').value = email + accnumber + "@yahoo.com"; 
     } 

     // Execute the code 
     window.onload = function() { createaccount() } 
    </script> 
</html> 

我的代碼沒有完全修好了,只要輸入密碼,我沒有一個循環來增加x - 我試圖讓這部分首先工作。

要運行這個,我使用的XAMPP並進入Chrome和127.0.0.1:5555

它加載網頁,但不運行任何JavaScript代碼。任何幫助將是偉大的!

+0

PSS:從頁面元素: 按鈕切換至寄存器ACC標籤: 要素電子郵件: mrbad315

+1

爲什麼在Javascript運行之前重定向用戶?如果你認爲它*加載頁面*,那麼你錯了。另外,你從哪裏得到變量'email'和'password'? –

+0

在js可以運行之前,用戶是否必須在網站上?否則,js如何將電子郵件和密碼放在框中?你是什​​麼意思,它不加載頁面?我可以看到該頁面並與其交互並手動進行accs?還試圖註釋掉這條線,它仍然無法正常工作 - 謝謝你的建議。 – mrbad315

回答

1

不幸的是,你的方法是根本不可能的。

當你指導你的HTML重定向和加載用戶帳戶頁面,您的瀏覽器會從你寫的網頁完全移開,失去所有你編寫的JavaScript代碼。真的沒有辦法讓一個頁面加載另一個網頁,並嘗試向其中注入JavaScript。

事實上,幾乎每一個網頁瀏覽器都會嘗試並主動停止一個網頁冒充另一個網頁,並注入任意JavaScript。這是因爲這樣做會導致各種安全漏洞 - 如果您有興趣瞭解更多信息,請參閱cross-site scripting

爲了得到這個工作,你需要做以下操作之一:

  1. 直接發送請求到Evony的的服務器上,而不是填寫自己的文本框的
  2. 使用類似Greasemonkey寫用戶腳本將運行您的JavaScript代碼。
  3. 使用網絡自動化工具(如Selenium)或更通用的自動化工具(如AutoHotKey)編寫腳本。

我也會仔細看看Evony的服務條款 - 我懷疑他們的處罰是自動創建大量帳戶,如果您濫用這些帳戶以便濫用,您很可能會遇到麻煩或利用遊戲。

+0

我該如何去直接發送請求到evony的服務器? – mrbad315

+0

@ mrbad315在您的頁面上放置一個鏈接到他們的網站。如果你想動態地實現它(比如點擊一個按鈕),那麼你可以這樣做:'window.location =「http:// ...」;'。 –

+0

你想介紹一點細節嗎? (對不起,如果我問很多 - 即時通訊非常新的js和編碼一般真的) – mrbad315