Skip to content

Commit 9464657

Browse files
authored
Fix ssr (#108)
* remove google (#106) * ssr (#107)
1 parent 436e5c4 commit 9464657

File tree

2 files changed

+49
-71
lines changed

2 files changed

+49
-71
lines changed

projects/fastgpt/app/layout.tsx

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import BaiDuAnalytics from '@/app/BaiDuAnalytics';
22
import ClarityAnalytics from '@/app/ClarityAnalytics';
33
import RybbitAnalytics from '@/app/RybbitAnalytics';
4-
import GoogleAnalytics from '@/app/GoogleAnalytics';
54
// import { TailwindIndicator } from '@/components/TailwindIndicator';
65
import { ThemeProvider } from '@/components/ThemeProvider';
76
import { siteConfig } from '@/config/site';
@@ -13,7 +12,6 @@ import '@/styles/plyr.css';
1312
import { Analytics } from '@vercel/analytics/react';
1413
import { Viewport } from 'next';
1514
import { Inter as FontSans } from 'next/font/google';
16-
import Script from 'next/script';
1715

1816
const fontSans = FontSans({
1917
subsets: ['latin'],
@@ -51,39 +49,13 @@ export default async function RootLayout({
5149

5250
return (
5351
<html lang={(lang && lang[0]) || defaultLocale} suppressHydrationWarning>
54-
<head>
55-
{!isChineseDomain && (
56-
<Script
57-
id="gtm-script"
58-
strategy="afterInteractive"
59-
dangerouslySetInnerHTML={{
60-
__html: `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
61-
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
62-
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
63-
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
64-
})(window,document,'script','dataLayer','GTM-W9HPZZ22');`
65-
}}
66-
/>
67-
)}
68-
</head>
6952
<body className={cn('min-h-screen font-sans antialiased', fontSans.variable)}>
70-
{!isChineseDomain && (
71-
<noscript>
72-
<iframe
73-
src="https://www.googletagmanager.com/ns.html?id=GTM-W9HPZZ22"
74-
height="0"
75-
width="0"
76-
style={{ display: 'none', visibility: 'hidden' }}
77-
></iframe>
78-
</noscript>
79-
)}
8053
<ThemeProvider attribute="class" defaultTheme={siteConfig.nextThemeColor} enableSystem={false} forcedTheme="dark">
8154
{children}
8255
{/* <Footer /> */}
8356
<Analytics />
8457
{/* <TailwindIndicator /> */}
8558
</ThemeProvider>
86-
<GoogleAnalytics />
8759
<BaiDuAnalytics />
8860
<ClarityAnalytics />
8961
<RybbitAnalytics />

projects/fastgpt/components/home/Video.tsx

Lines changed: 49 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -14,51 +14,57 @@ const VideoPlayer = ({
1414
const [open, setOpen] = useState(false)
1515

1616
useEffect(() => {
17-
const Plyr = require("plyr");
18-
const player = new Plyr("#player", {
19-
i18n: {
20-
speed: dict?.video.speed,
21-
normal: dict?.video.normal,
22-
},
23-
controls: [
24-
"play-large",
25-
"restart",
26-
"rewind",
27-
"play",
28-
"fast-forward",
29-
"progress",
30-
"current-time",
31-
"duration",
32-
"mute",
33-
"volume",
34-
"captions",
35-
"settings",
36-
"pip",
37-
"airplay",
38-
// 'download',
39-
"fullscreen",
40-
],
41-
});
42-
const show = () => {
43-
player.toggleControls(true);
44-
};
45-
const hiden = () => {
46-
player.toggleControls(false);
47-
};
48-
player.on("ready", (e: any) => {
49-
player.toggleControls(false);
50-
const playerContainer = document.getElementById("player-container");
51-
if (!playerContainer) return;
52-
playerContainer.addEventListener("mouseenter", show);
53-
playerContainer.addEventListener("mouseleave", hiden);
54-
});
17+
// 动态导入Plyr以避免SSR问题
18+
const loadPlyr = async () => {
19+
const Plyr = (await import("plyr")).default;
20+
const player = new Plyr("#player", {
21+
i18n: {
22+
speed: dict?.video.speed,
23+
normal: dict?.video.normal,
24+
},
25+
controls: [
26+
"play-large",
27+
"restart",
28+
"rewind",
29+
"play",
30+
"fast-forward",
31+
"progress",
32+
"current-time",
33+
"duration",
34+
"mute",
35+
"volume",
36+
"captions",
37+
"settings",
38+
"pip",
39+
"airplay",
40+
"fullscreen",
41+
],
42+
});
43+
44+
const show = () => {
45+
player.toggleControls(true);
46+
};
47+
const hiden = () => {
48+
player.toggleControls(false);
49+
};
5550

56-
return () => {
57-
const playerContainer = document.getElementById("player-container");
58-
if (!playerContainer) return;
59-
playerContainer.removeEventListener("mouseenter", show);
60-
playerContainer.removeEventListener("mouseleave", hiden);
51+
player.on("ready", (e: any) => {
52+
player.toggleControls(false);
53+
const playerContainer = document.getElementById("player-container");
54+
if (!playerContainer) return;
55+
playerContainer.addEventListener("mouseenter", show);
56+
playerContainer.addEventListener("mouseleave", hiden);
57+
});
58+
59+
return () => {
60+
const playerContainer = document.getElementById("player-container");
61+
if (!playerContainer) return;
62+
playerContainer.removeEventListener("mouseenter", show);
63+
playerContainer.removeEventListener("mouseleave", hiden);
64+
};
6165
};
66+
67+
loadPlyr();
6268
}, [dict]);
6369

6470
return (

0 commit comments

Comments
 (0)