2016-08-01 84 views
1

我試圖簡單地(在HTML腳本標記中管理的JavaScript環境中)加載網頁並在該網頁上按下按鈕。我也希望能夠從網頁上讀取數據,但是一旦我按下按鈕,這應該是不言自明的。我已經四處尋找解決方案,但似乎沒有任何工作。使用javascript按網頁上的按鈕

爲了受控的環境,我有2個簡單的網站。首先有一個按鈕調用JavaScript函數,我嘗試加載網站2並按另一個按鈕。在網站2上,有一個按鈕,當按下時,它會調用JavaScript函數並生成一個對話框。

我可以使用window.open()加載第2頁,我相信它有一個返回類型,它是我保存的網站句柄。我試過使用該句柄來調用網頁2中的javascript函數。我嘗試通過ID獲取元素並使用click()/ submit()。而這裏的代碼到當前的嘗試:

網站1:

<html> 
    <body> 
     <script language = "javaScript"> 
      function print() { 
       //alert('Hello World'); 

       var win = window.open("file:///Users/Jacob/Documents/2ndWebTest.html"); 

       win.document.form[0].submit(); 
      } 
     </script> 
     <p><button onclick = "print()">test</button></p> 
    </body> 
</html> 

網站2:

<html> 
    <body> 
     <script language = "javaScript"> 
      function testFunc() { 
       alert('Hello World'); 
      } 
     </script> 
     <p><button onclick = "testFunc() id = "buttonTest"">test</button></p> 
    </body> 
</html> 

我試圖通過網站的層次結構進行導航,並從中提取數據。我認爲這至少應該在理論上有效,但我無法訪問網站2上的任何功能或元素。我做錯了什麼?

+1

肯定是一個有趣的想法,但是我相信這會屬於跨站點腳本。 –

回答

1

在上例中,Web服務器將拋出訪問被拒絕的錯誤,除非您允許它訪問目標文件所在的文件夾。

在我的本地計算機上,我可以通過設置一個名爲TestSite的虛擬目錄並將兩個文件放入其中來讓您的示例工作。我訪問了另外一個與此命令:

var win = window.open("localhost/TestSite/2ndWebTest.html"); 

而且我也修復文件2ndWebTest.html在8號線雙引號念想:

<p><button onclick = "testFunc()" id = "buttonTest">test</button></p>