我希望我的Javascript在30天后过期

时间:2012-10-12 04:07:23

标签: javascript

我正在寻找一些可以检查30天是否过去的代码,如果是这样,脚本将停止工作;如果没有,则调用start()函数。

我只需要在Javascript中完成。

var date = 11;
var month = 10;
var year = 2012;

function Checkday() {
    if ( // check 30 days ) {
        start();
    } else {
        stop();
    };
};

我也想知道是否有办法在JS文件中添加PHP代码。我知道这是一个愚蠢的问题,但我只是好奇。

提前致谢。

已编辑:

我们将销售JS文件,因此我们将在JS文件中设置日期。所以我们希望它检查到期时间并停止运作。

3 个答案:

答案 0 :(得分:3)

我为你做了fiddle

var date = 10;
var month = 10;
var year = 2012;

var expires = new Date(year, month, date);
function checkDate() {
    var d = new Date();
    return(d>expires);
}

将您的js文件作为结尾.php并将header('content-type: application/x-javascript');放在其开头。现在你可以<?php echo $variables; ?>内部。这项工作必须不适用于ie。

然而:如果您正在销售js并且想要在达到给定时间点时停止此功能:这不能通过javascript解决!任何人都可以编辑一个javascript文件 - 比如日期,月份,年份参数。除了你有一个js打包机,恕我直言 - 不够安全。

答案 1 :(得分:2)

这可能对你有帮助..

var date = 11;
var month = 10;
var year = 2012

function Checkday() {
    if ( !isExpired() ) {
        start();
        } else {
        stop();
    };
};

function isExpired() {

    var current = new Date(); 
    current = current.getTime(); 

    var dateToCheck = new Date(); 
    dateToCheck.setFullYear(year); 
    dateToCheck.setMonth(month); 
    dateToCheck.setDate(date + 30) 
    var checkdate = dateToCheck.getTime();

    return checkdate < current
}

答案 2 :(得分:2)

愚蠢的问题,但是什么是阻止您销售此JavaScript文件的人自己打开并更改日期?您是否将此文件出售给他们,以便他们可以在他们的网站上使用它?我必须想象他们会足够聪明地想到这一点。

另外,php是一种服务器端语言,而JavaScript是一种客户端语言,因此将php直接放在JS文件中并不会对你有好处。真的最好的办法是将dateinfo保存在cookie中并在调用函数之前进行检查。