重新加载更新的java <script>代码,而无需完全重新加载html页面

aul*_*ron 6 html javascript web

我正在开发一个单页面Web应用程序,它具有许多不同的功能和形式.在开发深度(我的意思是主页上没有的东西)功能时,我会经历这个循环:

  1. 开发代码,编辑类和函数
  2. 刷新整个页面
  3. 一路点击直到我到达我需要测试的部分(有时加起来大约一分钟)
  4. 测试新代码
  5. 回到(1)代码编辑器进行更新

进行大约15次小编辑,可以在30分钟内反复重装和点击

是否有任何插件,javascript或方法,允许重新加载更新的JavaScript而无需重新加载所有内容,因此可以跳过上面的循环中的2.和3.并继续进行实时测试?

如果没有这样的东西,我打算开发一个小的javascript插件,它将重新加载脚本,并且可能socket.io连接到后端node.js服务器,后端服务器将监视文件以获取任何更新并将加载事件推送到浏览器.

所以,我对这个问题感兴趣,在编写插件时我应该考虑的任何事情.

谢谢 : )

sub*_*ero 2

你可以做这样的事情。

function LoadMyJs(scriptName) {
   var docHeadObj = document.getElementsByTagName("head")[0];
   var dynamicScript = document.createElement("script");
   dynamicScript.type = "text/javascript";
   dynamicScript.src = scriptName;
   docHeadObj.appendChild(newScript);
}
Run Code Online (Sandbox Code Playgroud)

在页面加载时调用 LoadMyJs 函数

<body onLoad="LoadMyJs()">
Run Code Online (Sandbox Code Playgroud)

然后单击按钮(或从控制台)重新加载

<input type="button" name="reloadjs" value="Reload JavaScript" onclick="LoadMyJs('my_live_loading_script.js')">
Run Code Online (Sandbox Code Playgroud)

这可以使用例如 jQuery 来简化

感谢: http://www.philnicholas.com/2009/05/11/reloading-your-javascript-without-reloading-your-page/