我的网站有固定的菜单,标题等,并根据菜单点击通过AJAX加载主要内容区域。
这些“页面”依赖于大量的Javascript和CSS,它们是每个页面的个性化。由于用户可能会访问许多页面,因此我想卸载特定于页面的JS和CSS。 CSS很简单,但删除<script>
标签不会删除加载的Javascript(我仍然可以调用其中定义的函数)。
我怎么能真正“删除”JS?我不想要内存开销,或者不必担心页面之间的名称冲突。
答案 0 :(得分:2)
您可以将功能加载到特定于页面的对象中。这将要求您通过该对象进行所有特定于页面的调用。如果要卸载页面,请将该对象指向其他内容(例如null)。现在您没有对该对象的引用,它将被运行时清理。 (假设没有其他人指出它。执行这是微不足道的。)
答案 1 :(得分:1)
我的理解(来自this post on Perfection Kills)是只有使用eval()创建javascript函数声明才能完全删除它们。如果是这种情况,您可以通过调用
删除该功能delete funcName;
如果没有使用eval()创建函数,那么您可以做的最好的事情就是重新定义它。有很多例子。这是一个:javascript function redefinition