我们有一些软件可以重新创建 javascript 文件。我们需要能够在不刷新页面的情况下将它们重新加载到 DOM 中。这意味着原始的 javascript 文件(已经被浏览器加载)已经改变。通常刷新浏览器可以解决这个问题,但由于在其他控件中丢失状态,我们不能这样做。
我对此的搜索只返回有关使用 javascript 刷新浏览器的结果,这不是我想要的。
是否可以仅使用 JavaScript(没有 JQuery/Angular 或任何第三方库/框架等)在不刷新浏览的情况下重新加载 javascript 文件?
原文由 MyDaftQuestions 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您打算提供数据或 新的 小部件:
香草 AJAX 简单且无处不在。去做。
如果您出于某种原因反对这样做,并且如果您只从 您控制 的盒子中提取新数据,您也可以尝试使用 JSONP 。
如果您打算“升级”页面或替换功能:
只是不要这样做。虽然您可以轻松添加新脚本,但如果不 进行大量 簿记,就无法可靠地“清理”页面上的旧脚本或变量。除非您的脚本 非常 非常 简单,否则您会遇到不少麻烦。
更好的解决方案是通知用户升级,要求他们刷新页面,并确保您的应用程序可以快速重新初始化到以前的状态。
最终,如果您想就地“升级”应用程序,无论如何都需要刷新幕后的所有内容。这意味着您需要知道如何重建一切以 无论如何匹配现有/先前的状态。 而且,你 可以 做到这一点。但是,只刷新页面会更容易,这样可以更好地确保干净、兼容的状态,而不会大惊小怪。