在Adobe Air中运行的Javascript调试

4
有没有一种标准的方法可以在Adobe Air应用程序内部使用htmlLoader组件访问的网页上调试JavaScript?
我有一个使用JavaScript构建的Web应用程序,在浏览器中运行得非常完美。其用户界面的主要元素之一是,当您右键单击图像时,会出现特定于该图像的上下文菜单。
我正在尝试将对此Web应用程序的访问嵌入到Adobe Air应用程序中。为此,我添加了一个htmlLoader,它访问URL并在Air应用程序中显示它。它运行得非常完美 - 除了在导航离开Web应用程序的着陆页面后,右键单击图像时不再显示上下文菜单。
我认为这一定与Adobe Air中运行的JavaScript有关(Web应用程序的所有其他方面仍然有效),但是当JavaScript在IE / Chrome /等中运行得非常完美,而在Air内部却无法正常工作时,很难弄清楚问题所在。我非常怀疑类似Firebug的东西是否存在于Flash Builder / Adobe Air中,但是询问一下似乎值得一试。

它是否支持调用控制台方法?我认为是的:http://help.adobe.com/en_US/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7ed2.html - akonsu
你尝试过处理uncaughtScriptException事件来查看是否有任何异常被抛出吗? - merv
@merv - 我已经检查过了,没有未捕获的异常被抛出。 - Eric G
2个回答

3

有一个AIR Introspector,它是一个脚本,你可以将其添加到应用程序中(在生产过程中删除),它就像Firebug Lite一样。它有控制台和HTML结构查看器。

我认为你也可以使用Firebug Lite


谢谢你的回复。我之前不知道这两个工具。我没有在原始问题中提到,JavaScript Web应用程序是由另一个组织构建的,我无法修改它以包含 AIR Introspector 或 Firebug Lite。不过我正在研究通过 ActionScript 动态添加内省器是否可行。无论如何,了解这些选项对于未来的开发很有用。 - Eric G

1

我知道这个帖子已经很老了,但是它仍然可以从谷歌访问,所以我将列出这个作为另一种答案:

window.onerror = function(msg, url, line) {
   // You can view the information in an alert to see things working
   // like so:
   alert("Error: " + msg + "\nurl: " + url + "\nline #: " + line);

   // TODO: Report this error via ajax so you can keep track
   //       of what pages have JS issues

   var suppressErrorAlert = true;
   // If you return true, then error alerts (like in older versions of 
   // Internet Explorer) will be suppressed.
   return suppressErrorAlert;
};

感谢另一个我不幸忘记了跟踪的SO线程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接