2

我正在寻找一些可以检查是否已过 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 文件中设置日期。所以我们希望它检查到期时间并停止运行。

4

3 回答 3

4

我为你做了一个小提琴

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 打包器,恕我直言,它不够安全。

于 2012-10-12T04:25:05.633 回答
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
}
于 2012-10-12T04:25:13.927 回答
2

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

另外,php 是一种服务器端语言,而 JavaScript 是一种客户端语言,所以将 php 直接放在 JS 文件中并没有什么好处。实际上,最好的选择是将日期信息保存在 cookie 中,并在调用函数之前对其进行检查。

于 2012-10-12T04:25:40.133 回答