Greasy Fork is available in English.

Time Control

Script allowing you to control time.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

작성자
AGitUser0001
일일 설치 수
0
총 설치 수
64
평점
0 0 0
버전
1.5.6.1
생성일
2024-03-30
갱신일
2025-10-14
크기
18.3KB
라이선스
MIT
적용 사이트
모든 사이트

This script creates a global time object that allows you to control time in a webpage. This object is only available to access in Developer Tools contexts while time.hidden is true (default true). Developer Tools contexts are contexts where the call stack ends with an anonymous scope in Chrome or Firefox, or global code@ in Safari, as well as where a set of Developer Tools utilities exist as properties on the window object or its prototype chain. Currently, we check for $, $$, $x, clear, copy, inspect, keys, values. In top-level eval scopes while hidden and outside of Developer Tools contexts, we throw a ReferenceError when attempting to access time. We determine eval scopes using stack introspection. This behaviour is necessary to allow code that utilizes eval(str) to check for a global variable (str = 'time') to detect the variable normally. 'time' in window will still output true.

We wrap Date.now, Performance.prototype.now, AnimationTimeline.prototype.currentTime, and Event.prototype.timeStamp with a Proxy that adjusts what is returned when the state has been modified. We wrap setTimeout and setInterval with a Proxy that adjusts the timeout/interval parameter while the state is modified. requestAnimationFrame is wrapped with another Proxy that adjusts the DOMHighResTimeStamp by wrapping the input function if the state has been modified.

The time object contains:

  • toString(): string Returns the time as a string, should be equivalent to window.Date().

  • valueOf(): number Returns the time as a number, equivalent to time.now.

  • jump(newTime: number): void: Jumps time to newTime, a number.

  • shift(shiftTime: number): void: Shifts time by shiftTime, a number.

  • reset(resetTime: boolean = true, resetScale: boolean = true, resetDebug: boolean = true): void: Optionally syncs the scale and/or time with real time in the page.

  • get debug(): boolean:

  • set debug(value: boolean): void: A boolean that controls logging of calls.

  • get hidden(): boolean

  • set hidden(value: boolean): A boolean that controls whether the time object is available only in Developer Tools contexts or All contexts. Defaults to true.

  • get now(): number: The current time on the page. Should be equal to window.Date.now().

  • set now(value: number): void: Time jumps to value.

  • get pristine(): boolean: Whether time has been modified.

  • set pristine(value): void: If value is true, syncs

  • get real(): number: The actual time from DateConstructor.now().

  • get scale(): number: The current scale that time moves at.

  • set scale(value: number): void: When set, changes the scale of time.

  • storage

    • toString(): string Returns the time in storage as a string, should be equivalent to (new window.Date(time.storage.now)).toString().
    • valueOf(): number Returns the time in storage as a number, equivalent to time.storage.now.
    • get profile(): string | null: The current profile id, or null if unset.
    • set profile(value: string | null): void: Set the current profile to value, or unset profile if value is an empty string or null.
    • get profiles(): string[]: A list of profiles.
    • erase(profile?: string | null): Erase the profile profile, or the default profile if none is provided.
    • save(saveTime: boolean = true, saveScale: boolean = true, saveDebug: boolean = true): void:
    • load(loadTime: boolean = true, loadScale: boolean = true, loadDebug: boolean = true): void: Saves or loads the current time and/or scale in script storage.
    • reset(resetTime: boolean = true, resetScale: boolean = true, resetDebug: boolean = true): void: Resets the time and/or scale in script storage.
    • get now(): number: The current time in the script storage.
    • set now(value: number): void: Time is set to value in the storage.
    • get pristine(): boolean: Whether time has been modified in the storage.
    • set pristine(value): void: If value is true, syncs time to real time in storage.
    • get real(): number: The actual time grabbed from DateConstructor.now().
    • get scale(): number: The current scale that time moves at in the storage.
    • set scale(value: number): void: When set, changes the scale of time in storage.