0

我正在使用 jQuery、jQuery mobile(和 PhoneGap,但这不相关)开发一个移动应用程序。假设我有两个 html 页面:page1.html 和 page2.html。我正在使用 page1.html 中的 $.mobile.changePage() 加载 page2.html。page2.html 中的页面 div(即,具有 data-role="page" 的 div)包含特定于 page2 的 javascript 代码,它也与 page2.html 一起加载。page2.html 中的代码如下所示:

<!DOCTYPE HTML>
<html>
<head>
    <title>Title</title>
</head>
<body>
<div id="conf-page" data-role="page">

    <script type="text/javascript" charset="utf-8">

    <!-- MY SCRIPT HERE ----->

    </script>
    <div data-role="header" style="height: 45px">

现在我想在 page2.html 中的 javascript 代码的某个地方打断。目前,我正在使用 Firefox (16.0.2) 和 Firebug 进行开发和调试。加载 page2.html 时,我在 firebug Scripts 列表的两个位置看到 page2.html 的 JS 代码:

  1. 在 jQuery.min.js/eval/MD5/
  2. 在 jQuery.min.js/eval/seq/<#>

如果我在其中一个代码中的某处放置一个断点,它将应用于上面 (1) 中的代码,但在加载 page2.html 时它永远不会被命中。

如何在 page2.html 的 JS 代码中设置断点和中断?我在网上找不到任何相关的东西,这让我觉得我一定遗漏了一些东西,因为这一定是一个非常普遍的要求。

4

1 回答 1

0

看起来我正在寻找不同的术语。在这个网站上有一些关于这个问题的讨论。以下是一些参考资料:

上述线程中建议了两种解决方案:

  • 这些线程中的大多数都提出了相同的解决方案:使用“调试器”;代码中的语句(不带引号)两次以使 FireBug 调试器停止。我这样做了,这是一个部分解决方案:萤火虫确实坏了,但变量堆栈是空的。所以这不是很有用。
  • 将脚本放在一个文件中,使用 AJAX Get 调用加载脚本,并将 crossdomain 设置为 true,然后获取脚本文件,加载它并在调试器中显示脚本文件。现在可以用来设置断点等。比上面更有用。

保持开放,看看是否有其他解决方案。

于 2012-11-11T21:53:44.823 回答