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 ファイルを販売している相手が自分でファイルを開いて日付を変更するのを防ぐにはどうすればよいでしょうか? Web サイトで使用できるように、このファイルを販売していますか? 私は彼らがそれを考えるのに十分賢いと想像しなければなりません.

また、php はサーバー側の言語であり、JavaScript はクライアント側の言語であるため、JS ファイルに直接 php を入れてもあまり効果がありません。本当に最善の策は、dateinfo を Cookie に保存し、関数を呼び出す前に確認することです。

于 2012-10-12T04:25:40.133 に答える