相关疑难解决方法(0)

Safari的html5 localStorage错误:"QUOTA_EXCEEDED_ERR:DOM例外22:尝试向超出配额的存储添加内容."

我的webapp在ios safari私密浏览中有javascript错误:

JavaScript的:错误

未定义

QUOTA_EXCEEDED_ERR:DOM例外22:尝试向存储添加内容......

我的代码:

localStorage.setItem('test',1)
Run Code Online (Sandbox Code Playgroud)

javascript html5 web-applications local-storage

132
推荐指数
5
解决办法
14万
查看次数

在某些不支持 BroadcastChannel 的浏览器中,从服务唤醒器发送消息以响应组件

我能够成功地从我的服务器获取推送通知并使用此更新反应组件

    self.addEventListener('push', event => {
     const data = event.data.json();
     event.waitUntil(
       self.registration.showNotification(data.title, {
         body: data.body,
         image: './Flowster-icon-32.png'
      })
    );

     const channel = new BroadcastChannel('sw-messages');
     channel.postMessage(data);
   });
Run Code Online (Sandbox Code Playgroud)

但是浏览器 IE、safari、donto 支持 BroadcastChannel,甚至这些浏览器不支持 client.postMessage,我怎样才能让它在这些浏览器中工作。我在这里先向您的帮助表示感谢。

safari internet-explorer web-services reactjs

5
推荐指数
1
解决办法
265
查看次数

React 使用 BroadcastChannel API 出现错误

我正在使用 sessionStorage 来保存身份验证信息,并且需要将此信息复制到正在打开的其他选项卡。我创建了一个codesandbox来重现这个问题。我没有在这篇文章中包含代码,因为它很长。

当在另一个窗口中打开仪表板链接时,由于弹出错误而无法呈现。

编辑: 我已在下面包含所有必要的代码。

应用程序.js

export default function App() {
  return (
    <>
      <Router>
        <Switch>
          <Route exact path="/">
            <Home />
          </Route>
          <Route path="/login">
            <Login />
          </Route>
          <Route path="/dashboard">
            <Dashboard />
          </Route>
        </Switch>
      </Router>
    </>
  );
}
Run Code Online (Sandbox Code Playgroud)

仪表板.js

export default (props) => {
  const [isLogged, setIsLogged] = useState(false);
  const [email, setEmail] = useState();
  const [token, setToken] = useState();
  const authChannel = new BroadcastChannel("auth");

  useEffect(() => {
    setToken(sessionStorage.getItem("token"));
    setEmail(sessionStorage.getItem("email"));
    setIsLogged(sessionStorage.getItem("token") ? true : false);
    authChannel.postMessage({ action: "created", source: …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router-dom broadcast-channel

1
推荐指数
1
解决办法
3973
查看次数