为什么我的React Redux TypeScript应用程序除了iPhone 6 iOS 12.0.1(它是一个空白的



我的基本静态React Redux TypeScript应用程序在Windows上本地工作,然后当我为我测试过的所有设备部署到GitHub Pages时,它也能工作iPhone 6 iOS 12.0.1除外(它是一个空白的白色屏幕(。

我研究过很多文章,比如:

  • React/redux应用程序在Safari 上呈现空白屏幕

  • React/Node Uncaught SyntaxError:意外的令牌<

  • 为什么在gh页面上部署的react应用程序在不同的浏览器上显示空白页面,而在我的浏览器上正确显示?

  • https://stackoverflow.com/a/57027870/470749

  • https://community.netlify.com/t/react-application-builds-deploys-into-a-blank-page/2571

  • https://github.com/facebook/create-react-app/blob/061d1e46fcd4766d38b45499c3d29cfaa2b7d0af/packages/react-scripts/template/README.md#github-页面

  • https://caniuse.com/#feat=es6

他们中的大多数人都试图解决所有设备都显示白色页面的情况。但这不是我的设想。

其他人谈到了旧浏览器如何需要polyfill,但我已经在使用fetch时添加了try/catch块。

我也尝试过在package.json中更改为"homepage": ".",但我再次认为这与问题无关,因为大多数浏览器已经可以工作了,所以我知道资产正在被访问。

有什么想法吗?

最后我想起我可以使用免费的http://xip.io/服务,从我的iPhone浏览到我的Windows机器上托管的"本地"React服务器。

这样,我就可以看到在生产中看不到的错误消息(在GitHub页面上(。

我发现错误是"ReferenceError:找不到变量:IntersectionObserver">

因此,解决方案是使用polyfill。

查看有用的链接:

  • https://stackoverflow.com/a/55767479/470749
  • https://stackoverflow.com/a/59368511/470749
  • https://github.com/mhartington/lazy-load-image/issues/1#issuecomment-372384646
  • https://webkit.org/blog/8582/intersectionobserver-in-webkit/
  • https://caniuse.com/#feat=intersectionobserver

"IntersectionObserver API自12.2起在iOS Safari上受支持。"这解释了为什么它在其他iPhone上有效,但在我的iPhone上无效。

相关内容

  • 没有找到相关文章

最新更新