- 刷卡器版本:6.3.5。
- 平台/目标:Chrome、safari、edge 等(所有现代浏览器 + 移动浏览器)。
- 有问题的实时链接: https ://bouclesandwaves-p67ctnmpb.vercel.app
我正在使用 REACT 版本的 swiper。当您加载页面时,它一切正常。这就是我编码的方式:
import React from 'react';
import SwiperCore, {Navigation, Pagination, A11y, Autoplay} from 'swiper';
import {Swiper, SwiperSlide} from "swiper/react";
import styles from './Slideshow.module.scss';
SwiperCore.use([Navigation, Pagination, A11y, Autoplay]);
const Slideshow = ({images = [], intervalMs = 1000}) => {
return <div className={styles.slideshow}>
<Swiper
slidesPerView={1}
navigation
pagination={{clickable: true}}
loop
autoplay={{delay: intervalMs}}
>
{
images.map(src => <SwiperSlide key={src}><img className={'banner-img'} src={src}
alt={'banner'}/></SwiperSlide>)
}
</Swiper>
</div>;
};
export default Slideshow;
现在该错误仅在特定情况下发生。首先,我使用https://vercel.com/使用服务器端渲染。当您进入登录页面:https ://bouclesandwaves-p67ctnmpb.vercel.app/login 并登录时,您可以使用测试帐户:test@test.com 密码:test
然后它重定向到主页,然后就很好了。然后你注销(按右上角的用户图标 -> 注销),然后使用凭据再次登录,然后图像会很大(注意幻灯片上的样式宽度):
<div class="swiper-wrapper" id="swiper-wrapper-fb9fb52f2fefd337" aria-live="off"
style="transform: translate3d(-45672px, 0px, 0px); transition: all 0ms ease 0s;">
<div class="swiper-slide swiper-slide-duplicate" data-swiper-slide-index="5" role="group" aria-label="1 / 8"
style="width: 15224px;"><img class="banner-img" src="/images/home/slides/slide6.png" alt="banner"></div>
<div class="swiper-slide" data-swiper-slide-index="0" role="group" aria-label="2 / 8" style="width: 15224px;"><img
class="banner-img" src="/images/home/slides/slide1.png" alt="banner"></div>
<div class="swiper-slide swiper-slide-prev" data-swiper-slide-index="1" role="group" aria-label="3 / 8"
style="width: 15224px;"><img class="banner-img" src="/images/home/slides/slide2.jpg" alt="banner"></div>
<div class="swiper-slide swiper-slide-active" data-swiper-slide-index="2" role="group" aria-label="4 / 8"
style="width: 15224px;"><img class="banner-img" src="/images/home/slides/slide3.png" alt="banner"></div>
<div class="swiper-slide swiper-slide-next" data-swiper-slide-index="3" role="group" aria-label="5 / 8"
style="width: 15224px;"><img class="banner-img" src="/images/home/slides/slide4.png" alt="banner"></div>
<div class="swiper-slide" data-swiper-slide-index="4" role="group" aria-label="6 / 8" style="width: 15224px;"><img
class="banner-img" src="/images/home/slides/slide5.jpg" alt="banner"></div>
<div class="swiper-slide" data-swiper-slide-index="5" role="group" aria-label="7 / 8" style="width: 15224px;"><img
class="banner-img" src="/images/home/slides/slide6.png" alt="banner"></div>
<div class="swiper-slide swiper-slide-duplicate" data-swiper-slide-index="0" role="group" aria-label="8 / 8"
style="width: 15224px;"><img class="banner-img" src="/images/home/slides/slide1.png" alt="banner"></div>
</div>
这些是我已经在 swiper 上添加的额外样式:
.swiper-container {
width: 100%;
height: auto;
max-height: 100%;
.swiper-wrapper {
align-items: center;
img {
width: 100%;
}
.swiper-slide {
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
}
}
我已经尝试过不同的样式(比如包装或幻灯片或图像等的最大宽度,但这并不能解决问题)
请注意,当我在本地运行项目时,我没有任何问题,因此我认为它必须与服务器端渲染有关。
对此我能做些什么吗?为什么它在第二次(而不是第一次)重定向之后发生?另外,如果我只是使用菜单栏更改页面,那么根本没有问题