Javascript 如何通过firebug仅重新加载脚本

Javascript 如何通过firebug仅重新加载脚本,javascript,debugging,firebug,Javascript,Debugging,Firebug,我最近做了很多ajax的东西。我反复重复的场景是: 加载页 更改该页面的一些脚本 使用ctrl+f5重新加载页面,然后查看它是否有效 我想做的是告诉firebug只重新加载脚本,而不是整个页面,因为标记是相同的。无论如何要这么做?Firefox目前没有办法这么做 如果标记相同,那么ctrl+f5有什么问题?我猜您不想丢失表单字段中的数据吧?这同样会导致问题,因为如果您只是重新加载脚本,并且这些脚本具有在表单字段更改时触发的事件,则这些事件将永远不会触发,并可能导致页面最终处于不应处于的状态 有一

我最近做了很多ajax的东西。我反复重复的场景是:

  • 加载页
  • 更改该页面的一些脚本
  • 使用ctrl+f5重新加载页面,然后查看它是否有效

  • 我想做的是告诉firebug只重新加载脚本,而不是整个页面,因为标记是相同的。无论如何要这么做?

    Firefox目前没有办法这么做

    如果标记相同,那么ctrl+f5有什么问题?我猜您不想丢失表单字段中的数据吧?这同样会导致问题,因为如果您只是重新加载脚本,并且这些脚本具有在表单字段更改时触发的事件,则这些事件将永远不会触发,并可能导致页面最终处于不应处于的状态


    有一些浏览器插件允许您在单击按钮时使用预定义的值自动填写表单字段,这可能是重新加载脚本的一个好选择。看起来这个firefox插件可以做到这一点。首先,尽量减少这种测试。在将其折叠到站点/页面之前编写原子测试和单元测试。您可以在Firebug的控制台中快速执行这些操作

    接下来,如果您正在重新加载的JS设置了间隔或事件侦听器,那么您将希望在重新加载测试中的JS之前清除这些间隔并解除绑定这些侦听器。这意味着禁止匿名间隔和事件处理程序

    创建一个JS文件,根据需要调用
    clearInterval()
    removeEventListener()
    .unbind()

    然后,您可以在Firebug的控制台中运行如下代码:

    function addJS_Node (text, s_URL)
    {
        var scriptNode                      = document.createElement ('script');
        scriptNode.type                     = "text/javascript";
    
        if (text)  scriptNode.textContent   = text;
        if (s_URL) scriptNode.src           = s_URL;
    
        document.head.appendChild (scriptNode);
    }
    
    addJS_Node (null, 'Path_to_JS/ResetTimersAndEvents.js');
    
    addJS_Node (null, 'Path_to_JS/JS_Under_Test.js');
    // etc.
    
    我想可能会有帮助。它监视本地文件夹的更改,并在更改时(保存后)重新加载它们,而不重新加载整个页面

    根据其:

    XRefresh还可以将外部链接的JS文件替换为 更新版本,无需重新加载整个页面

    不过,这也有一些局限性(我看不到任何绕过它们的方法),您可以在他们的faq页面上了解更多

    我仍然认为这比没有选择要好


    希望这能有所帮助。

    我认为您真正需要的是自动化测试。编写测试,然后在代码更改后重新运行它们


    在firefox上执行此操作的最佳方法是。

    否,我对表单字段没有问题…只是每次我想看到编码结果时,按f5对我来说太慢了…ctrl+f5需要多长时间?我明白你的意思..但想象一下这样的情况,你有某种工作流,你在测试第5步..我在脚本中更改了一些内容,我想在第5步看到结果..所以,我想做的是重新加载到脚本并执行步骤5,看看它现在是否正常工作,不想重新加载整个页面,然后执行步骤,直到我点击步骤5…好吗?;)我明白你的意思,也同意在那种情况下很痛苦。但是,如果您在第五步进行了修改,那么我猜DOM已经更改,页面上的内容也被移动了,因此重新加载javascript将导致更多问题,因为范围中的任何变量都将丢失,脚本/DOM可能会不同步。如果您还没有这样做,可能值得一看-可能有助于减轻测试和重新测试工作流/步骤1-5极好的问题。实时保存。