クライアント側js実装