【发布时间】:2015-04-07 09:23:18
【问题描述】:
如何在不涉及浏览器特定扩展或浏览器特定调试协议的情况下仅从客户端代码触发脚本采购和重新编译?
我说的是实时编辑,其中对对象原型的更改会影响已创建的实例。
【问题讨论】:
-
你尝试livejs.com了吗?
-
livejs只是做了一个location.reload() -
对于完全重新编译(全局、DOM、原型、所有内容)我不知道,但将旧代码设置为
null然后使用 requirejs 之类的东西重新执行可能至少会给您带来一般效果'正在寻找。希望我有更好的东西给你,因为我肯定也会用它。 -
没有很好的方法来做到这一点,因为脚本被加载到内存中,所以删除脚本标签不会撤消脚本所做的事情,这意味着您必须手动清理所有内容并重新运行整个代码以避免错误等。当然,创建手动清理脚本可能完成的所有内容的任务是一项艰巨的任务,您必须检查每个属性,跟踪 DOM 更改,原型等,它就是这么多重新加载页面比这样做更容易,并且重新加载为您提供了一个干净的状态,不需要非常复杂的清理工作。
标签: javascript google-chrome internet-explorer firefox