我 * 正在使用客户端JS解析XML文件并生成复杂的JS代码到eval
。 (生成由运行时启动的可重用函数。)但是,我需要调试生成的代码,并希望使用Chrome的内置断点,步进,监视窗口等。
有没有比这更简单的方法:
<script src="...">
加载的文件中。* 实际上,我的一个朋友正在这样做,而不是我
答案 0 :(得分:16)
而不是使用eval
,而不是手动复制/粘贴到单独的文件中,您可以使用动态创建的data uri将JS直接动态加载到生成它的页面中<script>
元素。通过这种方法,Chrome的开发人员工具(和Firebug)允许您选择数据URI作为脚本,打开漂亮打印,设置断点,然后离开。
var js = createMyJSCodeString();
addCode(js); // Right now! Debuggable!
// Dynamically evaluate JavaScript-as-string in the browser
function addCode(js){
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = 'data:text/javascript;charset=utf-8,'+escape(js);
document.body.appendChild(e);
}