2014-09-13 90 views
1

是否有可能僅使用JavaScriptHTML - 使用以下3個頁面?是否可以重定向兩次?

在第1頁會有一個按鈕,點擊後會重定向到第二頁X秒,然後重定向到第3頁。

我知道這是可能在每個頁面和定時器使用JavaScript,但我不知道是否可以在頁面1中的一個JavaScript代碼中完成,就像計時器,然後重定向到第三頁。

+0

我可以問你爲什麼要這樣做?你爲什麼不在用戶點擊按鈕時直接加載第3頁? – Elior 2014-09-13 09:32:19

+6

也許你可以解釋你實際想要達到的目標,可能會有比一系列重定向(例如AJAX調用)更好的解決方案。 – lxg 2014-09-13 09:32:50

+0

聽起來像點擊欺詐要求。通過。 – 2014-09-13 09:46:16

回答

2

基本上沒有。但後來立刻與我自相矛盾:你可以使用相框,但是當他/她saysIxg時,可能有更好的方法來實現你的最終目標。

基本上,要做到這一點與幀:點擊Page1並不會帶你離開Page1,而是用填充整個頁面的iframe替換Page1的內容,從Page2加載其內容。然後,由於Page1的JavaScript環境仍然存在,您可以使用計時器在準備就緒時重定向到Page3,而不必對Page2或Page3進行任何修改(除非Page2內置了幀破壞)。

+0

是的,謝謝,我會試試! – Hec46 2014-09-13 09:49:02

0

爲了記錄,這種情況可以在一個頁面中實現。

說你有三個頁面,你想page1.html上點擊重定向

<html> 
    <head> 
    <title>Page 1</title></head> 
    <body>This is page 1. <input type="button" onclick="toPage2()" value="Go to page 2." /></body></html> 

page2.html

<html> 
    <head> 
    <title>Page 2</title></head> 
    <body>This is page 2.</body></html> 

,然後有page2.html重定向到page3.html,一段時間後

<html> 
    <head> 
    <title>Page 3</title></head> 
    <body>This is page 3.</body></html> 

所有你需要做的我s獲得第2頁的源代碼,向其中注入一些javascript,然後將源代碼加載到瀏覽器中;這意味着第2頁不需要知道重定向行爲。因此,第1頁將成爲類似:

<html> 
    <head> 
    <title>Page 1</title> 
    <script> 
     // you can get the source of page 2 via ajax -- still meeting the requirement of javascript/html only. 
     var source2 = '<html><head><title>Page 2</title></head><body>This is page 2.</body></html>'; 

     function toPage2() { 
      var page2 = document.open('text/html', 'replace'); 
      var source2injected = inject(source2, 3000, 'page3.html'); 
      window.history.pushState('', '', 'page2.html'); 
      page2.write(source2injected); 
      page2.close(); } 

     var left = "<script>setTimeout(function(){window.location='", 
      middle = "';},", 
      right = ");</scr" + "ipt>"; 
     function inject (source, time, destination) { 
      return source.replace('<body>', left + destination + middle + time + right + '<body>'); } 

     </script></head> 

    <body>This is page 1. <input type="button" onclick="toPage2()" value="Go to page 2." /></body></html> 

我並不是說這是一個好主意,或者你實際上是試圖解決問題的正確的解決方案,但它確實回答你的問題。

相關問題