2012-02-15 18 views
0

我想通過元刷新重新掃描到另一個頁面,但僅在所有資源加載完畢後。任何想法如何歸檔?如何在所有資源加載後進行元刷新?

SOLUTION:

我結合兩種方式,元刷新和jQuery的方式。

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %> 
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 
<%@ taglib prefix="pos" uri="/WEB-INF/tld/pos.tld" %> 
<%@ taglib prefix="template" tagdir="/WEB-INF/tags" %> 
<%@ page pageEncoding="UTF-8" %> 

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
     <meta name="description" content="" /> 
     <meta http-equiv="Refresh" content="1; url=${callback}/" />   
     <script type="text/javascript" src="/JS/pos_js/jquery-latest.js"></script> 
    </head> 
    <body> 
     <script> 
      $(document).ready(function() { 
       window.location = '${callback}'; 
      }); 
     </script> 
    </body> 
</html> 

通過這種方式,對我來說,這是可能的,如果在滿載,如果JS文件被停用元刷新將引發用戶回調頁面重定向。

+0

是否需要元刷新?不能通過其他方法? – iDifferent 2012-02-15 09:06:33

+1

你想達到什麼目的?將所有東西加載到頁面上,然後通過轉到另一頁面將其全部扔掉似乎相反。也許有更簡化的方式來做你想做的事情。 – 2012-02-15 09:11:29

+0

我需要一個網站優化器Skript加載的空白網站。對於A/B測試,start-和targetpage必須是同一個子域,因爲在某個點的過程中,我重定向到另一個子域,所以我需要這個頁面。不是那麼花哨,而是它的要求:( – Nils 2012-02-15 09:41:26

回答

2

你可以通過jQuery使用$(document).load()函數來做到這一點。

$(document).load(function() { 
    window.location = 'http://new.url.com'; 
}); 
+0

我已經在開始時嘗試過,但如果JS被停用,該怎麼辦?流程中止並且用戶會看到空白頁。不關心在這些情況下谷歌腳本沒有加載,但用戶不應該明白.. – Nils 2012-02-15 09:44:59

3

做的只有real方法是:

<meta http-equiv="Refresh" content="1500; url=http://www.example.com/" /> 

,將等待1.5秒的網頁加載......不理想,但沒有JS,你會很幸運!

編輯:怎麼樣一個iFramed選項?

+1

我想1.5秒應該足夠今天的寬帶速度 – 2012-02-15 09:55:04

+0

你可以改變它更長/更短由修改'1500' - 但這是一個非常糟糕的修復方法,您應該查看跨站點域策略或在iFrame中執行此操作;) – 2012-02-15 09:56:15

+0

延遲實際上在*秒*中指定,而不是毫秒。所以'1500'是一個很長的時間... – hendrik 2015-05-14 14:53:50