首页 > 解决方案 > react加载后如何运行vanilla javascript?

问题描述

我想创建一个脚本并将 react 用作​​操场。长话短说,该脚本将是一个独立的 chrome 扩展,将用于操作网站(那些反应驱动的网站)。

所以在反应项目中,public/index.html我有这个:

    ....
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root"></div>

    <script src="./extension/main.js"></script>
  </body>
</html>

在里面main.js我想等待反应将数据加载到#root(就像它一样)然后我想开始我自己的代码

document.addEventListener("DOMContentLoaded", function() {
  if(window.localStorage.getItem('highlights')){
    makeSelection(JSON.parse(window.localStorage.getItem('highlights')))
  }
})

但这行不通。

(不,我不能使用反应钩子,这将完全独立于反应,我只是想确保它在反应站点中运行时可以工作)

标签: javascriptreactjs

解决方案


您可以开始一些 timeOut 来检查 #root 是否有空的 innerHTML,如果它没有运行您的代码


推荐阅读