2012-02-15 40 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