【问题标题】:Why my nextjs app doesn't work on Safari?为什么我的 nextjs 应用无法在 Safari 上运行?
【发布时间】:2021-11-16 12:37:21
【问题描述】:

我正在使用 nextjs 开发一个网络应用程序。除了 Mac 上的 Safari 之外,所有浏览器都可以正常运行。这是我打开开发者控制台时得到的:

只有在发生这种情况的 Mac 上,它仍然可以在 iPhone 上正常运行。有谁知道为什么会这样?

【问题讨论】:

    标签: javascript ios safari next.js


    【解决方案1】:

    IntersectionObserver API 在 Safari v3.1-12 上不可用。您或您的任何库都在使用此 API。要使其在旧版本的 Safari 上运行,您需要对其进行 polyfill。像这样的东西应该可以为 Safari v6+ 工作:

    // pages/_app.jsx
    
    import Script from 'next/script';
    
    const App = ({ Component, pageProps }) => (
      <>
        <Script
          src="https://polyfill.io/v3/polyfill.min.js?features=IntersectionObserver"
          strategy="beforeInteractive"
        />
        <Component {...pageProps} />
      </>
    );
    
    export default App;
    

    参考资料:

    【讨论】:

    • 非常感谢,成功了
    猜你喜欢
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多