我正在编写的一个网站可以在 Chrome、Firefox、Android 等设备上运行,但在 iPad (Safari) 上测试时失败,因此我将范围缩小到以下代码进行测试。 Swiper JS 是罪魁祸首,至少对我来说是这样。我添加了外部 JS 来查看 Safari 是否没有加载链接的文件,就像我研究的 CORS 问题一样,但确实如此。外部函数 green() 只是改变背景颜色。
在我所有的浏览器上,滑动器都可以工作并且背景最终变成绿色;在 Safari 上,变为红色(显然 JS 可以工作)并且滑动器未初始化!
在本地主机 10.0.0.26 上进行测试,甚至复制到 Bluehost 上的域。所有情况都一样。我已经拿到了 SwiperJS 的最新版本,因为我落后了几位;没有什么区别。
<html>
<head>
<link rel="stylesheet" href="swiper.css">
<script type="application/javascript" src="swiper.js"></script>
<script type="application/javascript" src="test.js"></script>
<style>
.x {
height: 200px;
width: 200px;
background-color: blue;
}
.test {
width: 80%;
}
</style>
<script>
window.onload = init;
function init() {
document.body.style.backgroundColor = 'red';
var aSwiper = new Swiper('.test', {
centeredSlides: true,
effect: 'coverflow',
slidesPerView: 'auto',
coverflowEffect: {
rotate: 0,
slideShadows: false,
depth: 200,
stretch: 0
},
spaceBetween: 25
});
green();
}
</script>
</head>
<body>
<div class="swiper test">
<div class="swiper-wrapper ">
<div class='swiper-slide x'></div>
<div class='swiper-slide x'></div>
<div class='swiper-slide x'></div>
<div class='swiper-slide x'></div>
<div class='swiper-slide x'></div>
<div class='swiper-slide x'></div>
<div class='swiper-slide x'></div>
<div class='swiper-slide x'></div>
</div>
</div>
</body>
</html>
补充:使用名为“Inspect”的东西能够开始在我的 Windows 计算机上调试 iPad,是的,控制台出现“语法错误:意外的标记‘...’。需要一个属性名称。” swiper.js 第 2456 行 不幸的是,这超出了我目前的逆向工程能力,但可能会对你们有所帮助......
根据 Jaromanda X 和我自己的进一步调试,似乎他们的代码(至少)使用了扩展运算符,这在旧版本的 Safari 中不受支持。时期。真糟糕。感谢您的帮助!