【发布时间】:2012-04-04 16:44:16
【问题描述】:
我正在尝试生成一个页面,其中要显示的基本数据可以以不同的方式解释。所以我有了一种数据格式,以及一些不同的 JS 脚本来从数据中生成 HTML。每个脚本都包含一个名为BuildView 的函数,该函数输入数据、解析数据并使用document.write 输出HTML。服务器端脚本将正确的数据和脚本包含插入到页面中以用于适当的视图。很简单,对吧?
除了页面中没有显示任何内容。所以我决定尝试用 Firebug 调试它。这是页面的基本结构:
<!DOCTYPE blah blah blah>
<html>
<head>blah blah blah</head>
<body>
<script type="text/javascript" src="/view.js"></script>
<div id='main-page'>
<h1 align="center">TITLE</h1>
<p align="left"><strong>Data: </strong>
<div id="data-view">
<script type="text/javascript">
BuildView('data from server');
</script>
</div>
</p>
</div>
</body></html>
data-view div 中没有显示任何内容。我加载了 Firebug,切换到脚本选项卡,在调用 BuildView 时设置断点,然后重新加载页面。它停在断点处,我按下 F11(Step Into),希望自己能在BuildView 脚本中环顾四周,看看发生了什么。相反......我什么也没得到。它只是跨过它并完成了页面的渲染。没有报告错误,但实际上没有发生任何事情。
如果你看不出来,我之前没用过 Firebug。我错过了什么?如何让脚本调试器真正调试到这个脚本中?
【问题讨论】:
-
你在 BuildView 中尝试过断点吗?您还应该尝试使用 google chrome 的调试器。另外,为什么要使用
document.write?通过让 BuildView 设置"#data-view"的 innerHTML 使其不那么突兀,然后您可以动态更改内容... -
我建议使用 javascript 尝试一个更简单的静态测试页面,然后当它工作时让服务器动态包含它。如果静态页面不起作用,请在 jsfiddle 中与我们分享。
-
@Juan:我不能在 BuildView 中放置断点,因为它没有出现在 Firebug 中。它在一个外部文件中,无论出于何种原因,它都没有显示在脚本选项卡中。
-
@MasonWheeler 您是否在我的回答中尝试了我的建议?另见stackoverflow.com/questions/797159/…
标签: javascript html firebug