mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2024-09-20 13:03:45 +02:00
Don't use setinterval on safari
This commit is contained in:
parent
db7251cbfb
commit
c9903b5926
2 changed files with 6 additions and 2 deletions
|
@ -16,7 +16,7 @@ import * as Chat from "./js-components/chat";
|
|||
import { SkipButtonControlBar } from "./js-components/skipButtonControlBar";
|
||||
import { getStartTimeFromUrl } from "./utils/urlParser";
|
||||
import { findValidElement, getControls, getHashParams, isVisible } from "./utils/pageUtils";
|
||||
import { keybindEquals } from "./utils/configUtils";
|
||||
import { isSafari, keybindEquals } from "./utils/configUtils";
|
||||
import { CategoryPill } from "./render/CategoryPill";
|
||||
import { AnimationUtils } from "./utils/animationUtils";
|
||||
import { GenericUtils } from "./utils/genericUtils";
|
||||
|
@ -529,7 +529,7 @@ function startSponsorSchedule(includeIntersectingSegments = false, currentTime?:
|
|||
skippingFunction();
|
||||
} else {
|
||||
const delayTime = timeUntilSponsor * 1000 * (1 / video.playbackRate);
|
||||
if (delayTime < 300 && utils.isFirefox()) {
|
||||
if (delayTime < 300 && utils.isFirefox() && !isSafari()) {
|
||||
// For Firefox, use interval instead of timeout near the end to combat imprecise video time
|
||||
const startIntervalTime = performance.now();
|
||||
const startVideoTime = video.currentTime;
|
||||
|
|
|
@ -5,6 +5,10 @@ export function showDonationLink(): boolean {
|
|||
return navigator.vendor !== "Apple Computer, Inc." && Config.config.showDonationLink;
|
||||
}
|
||||
|
||||
export function isSafari(): boolean {
|
||||
return navigator.vendor === "Apple Computer, Inc.";
|
||||
}
|
||||
|
||||
export function keybindEquals(first: Keybind, second: Keybind): boolean {
|
||||
if (first == null || second == null ||
|
||||
Boolean(first.alt) != Boolean(second.alt) || Boolean(first.ctrl) != Boolean(second.ctrl) || Boolean(first.shift) != Boolean(second.shift) ||
|
||||
|
|
Loading…
Reference in a new issue