让浏览器获取源代码并重新编译脚本以进行实时编辑
Getting browsers to source and recompile script for live editing
在不涉及浏览器特定扩展或浏览器特定调试协议的情况下,如何仅从客户端代码触发脚本源代码和重新编译?
我说的是实时编辑,对对象原型的更改会影响已经创建的实例。
我发现的唯一一件事是告诉您的Web服务器发送一个值为5秒的刷新参数
不过我还没有时间对此进行测试。
为什么不将文本存储在变量中,然后在其上存储eval()
?
使用Iframe!
在javascript(主站点,而不是iframe)中,您可以重写进入iframe的html,然后附加iframe,或者只调用iframe内容窗口的.open-.write-.close方法。(我没有这个的预购代码,但你可以在网上找到…)
我试着做这样的东西,但至少有一个问题你需要解决:
我你的代码包含一个不会停止的循环,至少chrome浏览器会刷新!(也是主站点)
如果我正确理解这个问题,您需要检测某些代码何时更改,并在页面上呈现它。
如果你想检测外部代码文件何时更改并在应用程序上使用它,你可以使用HTML5轮询甚至websocket。
主要问题是JavaScript,因为它需要由浏览器执行。
对于代码执行,我个人不喜欢eval()
,你有没有考虑过在头上或身上附加一个脚本?代码很容易理解:
var s = document.createElement("script");
s.type = "text/javascript";
s.id = "codetoexecute";
s.innerHTML = thecode;
$("head").remove("#codetoexecute");
http://jsfiddle.net/s6tkyxyh/1/
在下面的例子中,我使用一个简单的文本区域来编写一些JavaScript。我还添加了一些变量。
请记住,这是一个非常糟糕的做法,因为你必须注意内存泄漏以及每个函数或变量的范围。建议使用全局访问的方法和属性,因为调试太难了。
相关文章:
- Rad网格编辑模式通过选中复选框时的java脚本启用禁用所需的字段验证器
- Jquery脚本未在运行时加载编辑:意外的令牌
- 我可以在谷歌脚本编辑器(谷歌应用程序脚本)中调试JavaScript代码吗
- 使用表单输入中的咖啡脚本编辑保存的值
- 检查日期并使用谷歌脚本编辑谷歌表格中的相邻单元格
- 如何使用 JavaScript 实现自动化登录到脚本编辑器中的消息窗口
- 谷歌表单 + 应用程序脚本编辑
- 通过 PHP 脚本编辑会话
- 从SharePoint 2013脚本编辑器调用外部javascript文件函数
- 从脚本编辑表的innerHTML
- MS Dynamics CRM 2012:脚本编辑器增强
- 任何方法,使一个触发器或按钮,让用户按下和运行,而不是去脚本编辑器
- 我如何访问在谷歌脚本编辑器之外定义的函数
- Java脚本编辑器或linux的IDE
- 谷歌脚本编辑器
- 谷歌脚本编辑触发器
- 如何使用脚本编辑器和JavaScript访问Chrome活动选项卡URL
- 我可以在哪里下载独立的微软脚本编辑器
- 如何在SharePoint的脚本编辑器中调试我们编写的javascript
- 我如何在谷歌表单脚本编辑器中设置var主题,以返回表单/工作表中指定字段的值