アクションスクリプト3で現在の日付/時刻を取得したいのですが、システム時刻はユーザーが簡単に操作できるため、Dateクラスは避けたいと思います。
サーバーにアクセスしてタイムスタンプを取得できますか?
この方法(単純なURLリクエスト)に代わるより良い方法はありますか?
アクションスクリプト3で現在の日付/時刻を取得したいのですが、システム時刻はユーザーが簡単に操作できるため、Dateクラスは避けたいと思います。
サーバーにアクセスしてタイムスタンプを取得できますか?
この方法(単純なURLリクエスト)に代わるより良い方法はありますか?
ActionScriptで実行できることはすべて、独自のコンピューターで実行されるため、ユーザーが操作できます。また、ActionScriptについては何もできません。
そうは言っても、(クロスドメインの理由で)所有しているサーバーから現在のタイムスタンプを取得できます。たとえば、PHPでtime()を出力し、URLLoaderを介して取得するだけです。
これを行う方法は次のとおりです。
フラッシュ側:
var loader:URLLoader = new URLLoader()
loader.load(new URLRequest("yourserverpage.php"))
loader.addEventListener(Event.COMPLETE, onLoaded)
function onLoaded(evt:Event){
var date:Date;
try{
date = new Date(Number(loader.data));
}catch(e:Error){
}
if(!date){
//flash couldn't convert the date properly, there was an error
}
}
そしてphp側:
<?php
header("Content-Type: text/plain");
print time() * 1000;
?>