0

我正在尝试在页面加载之前读取元标记过期,如果它已经过期而不显示此页面,则重定向到其他 url。我的过期标签看起来像这样<META HTTP-EQUIV="Expires" CONTENT="Tue, 21 Aug 2012 14:30:00 GMT">

我完成当前日期的方式我认为我无法将我的元标记日期与它进行比较。有人可以告诉我我必须修改什么才能使其正常工作。谢谢

<body onload="compareDate()"> 

function getExpiresContent() { 
   var metas = document.getElementsByTagName('meta'); 

   for (i=0; i<metas.length; i++) { 
      if (metas[i].getAttribute("property") == "Expires") { 
         return metas[i].getAttribute("content"); 
      } 
   } 

    return "";
}

function compareDate(){
   var expiresDateString = getExpiresContent();
   var expiresDate= new Date(expiresDateString);
   var currentDate = new Date();
   var day = currentDate.getDate();
   var month = currentDate.getMonth() + 1;
   var year = currentDate.getFullYear();
   var today = ("<b>" + day + "/" + month + "/" + year + "</b>");

   if (expiresDate < today){
    window.navigate(”top.jsp”);
   }
}
4

1 回答 1

0

如果您想在页面加载之前捕获它,则需要在 HEAD 中使用脚本块。将您的函数放在脚本块中,然后在之后立即调用您的函数:

<script type='text/javascript'>
function getExpiresContent() {
...
}

function compareDate() {
...
)

compareDate()
</script>

为了比较日期,您需要获取“过期”值并构建一个日期对象(不是字符串),然后将其与当前日期进行比较。

请参阅有关数据对象如何工作的出色解释:

http://www.elated.com/articles/working-with-dates/

于 2012-08-23T15:28:32.830 回答