我应该卸载javascript脚本吗?

我应该卸载javascript脚本吗?,javascript,css,Javascript,Css,我想知道当其他文件继续加载到站点上时,不卸载javascript和css文件是否会影响站点。我正在用ajax创建facebook这样的功能,所以我想知道是否必须在新页面调用中卸载javascript/css资源 再解释一下:好的,当你转到facebook.com时,它开始在后台用ajax加载页面。如果你点击任何一个页面/配置文件/部分,它都会加载所需的css/javascript,但我不确定他们是否会卸载所需的javascript,新请求时不再需要。所以我想知道,我应该离开之前加载的javasc

我想知道当其他文件继续加载到站点上时,不卸载javascript和css文件是否会影响站点。我正在用ajax创建facebook这样的功能,所以我想知道是否必须在新页面调用中卸载javascript/css资源

再解释一下:好的,当你转到facebook.com时,它开始在后台用ajax加载页面。如果你点击任何一个页面/配置文件/部分,它都会加载所需的css/javascript,但我不确定他们是否会卸载所需的javascript,新请求时不再需要。所以我想知道,我应该离开之前加载的javascript,还是应该删除它,因为删除不是很难的一部分,只是跟踪对于一个大型站点来说可能有点复杂


有什么优点/缺点吗?

您应该将确定是否需要首先加载脚本的逻辑放在适当的位置。如果特定页面/视图不需要它,则不要加载它


我能想到的“卸载”的唯一方法是在不加载脚本的情况下重新加载页面,这似乎是一个糟糕的主意。

您应该设置逻辑,确定是否需要首先加载脚本。如果特定页面/视图不需要它,则不要加载它

我能想到的“卸载”的唯一方法是在不加载页面的情况下重新加载页面,这似乎是一个糟糕的想法。

唯一可以“卸载”javascript的方法是取消设置加载脚本创建的脚本对象

因此,如果您的脚本是:

var awesome = {

    init : function()
    {
        /** init stuff **/
    },

    do_stuff : function()
    {
        /** do awesome stuff **/        
    }

}
从技术上讲,您可以通过执行以下操作来“卸载”它:

awesome = null;
但是你必须非常整洁地处理你加载的脚本。。事件处理程序仍然附加到dom的某些元素,这仍然是一个潜在的问题

可以“卸载”javascript的唯一方法是取消设置由加载的脚本创建的脚本对象

因此,如果您的脚本是:

var awesome = {

    init : function()
    {
        /** init stuff **/
    },

    do_stuff : function()
    {
        /** do awesome stuff **/        
    }

}
从技术上讲,您可以通过执行以下操作来“卸载”它:

awesome = null;

但是你必须非常整洁地处理你加载的脚本。。事件处理程序仍然附加到dom的某些元素,这仍然是一个潜在的问题

我不太明白你的问题。你说的“卸载js和css文件”是什么意思?对不起,添加了更多的解释。你能发布更多关于你试图做什么的细节吗?我不太明白你的问题。你说的“卸载js和css文件”是什么意思?对不起,添加了更多解释。我不担心事件处理程序,因为html会随着卸载文件而改变。。所以我假设所有的活动都会随之进行,除非是现场活动。。“我说得对吗?”巴西特说。可能是的,测试会告诉我们。尽管实际上更好的方法是保持脚本加载,并保留加载脚本的记录,并且在需要时仅按需加载一次。使用JQuery从DOM中删除元素也将删除事件处理程序并执行任何必要的清理。如果你只是用.innerHTML之类的东西隐式删除它们,你就可以创建leaks.ya。我不担心事件处理程序,因为html会随着卸载文件而改变。。所以我假设所有的活动都会随之进行,除非是现场活动。。“我说得对吗?”巴西特说。可能是的,测试会告诉我们。尽管实际上更好的方法是保持脚本加载,并保留加载脚本的记录,并且在需要时仅按需加载一次。使用JQuery从DOM中删除元素也将删除事件处理程序并执行任何必要的清理。如果您只是使用.innerHTML之类的东西隐式删除它们,则可能会造成泄漏。