在开发过程中巧妙地忽略 netscape.javascript.JSException
Eclipse 允许您使用sun.applet.AppletViewer 调试小程序。 它实际上会启动小程序,运行它并模拟完整的浏览器运行时。 如果您的小程序中有 javascript 操作代码,这将导致 JSException,因为当前上下文不是真正启用 JS 的引擎。
你会如何解决这个问题? 我可以看到几种可能的路径:
- 将异常包装在 try {} catch () 中并忽略它 - 不是好的做法。
- 通过和环境标志告诉代码我们当前处于调试模式,这样它就不会尝试执行 JS 代码 - 好的,但需要每个开发人员的手动干预。
- 识别当前上下文不是浏览器 - 如何?
- 找到另一个可以模拟完整浏览器行为(包括 JS)的 AppletViewer - 有吗?
- 更多的?
感谢您的想法。
Eclipse allows you debug applets using sun.applet.AppletViewer. It will actually start the applet, run it and emulate complete browser runtime. If you have javascript manipulation code in your applet this will cause JSException because the present context is not a real JS enabled engine.
How would you solve this issue? I can see several possible paths:
- Wrap the exception in try {} catch () and ignore it - Not good practice.
- Pass and environment flag that would tell the code we are currently in debug mode, so that it won't try to execute JS code - OK but will need manual intervention from each developer.
- Identify current context is not a browser - How?
- Find another AppletViewer that can emulate a complete browser behavior, including JS - Is there ?
- More?
Thank for your ideas.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想出了一个可行的解决方案,但不是万无一失:
Not a fail safe but a workable solution I've managed to come up with:
在某些较旧的浏览器上,JSObject 将抛出通用 RuntimeException,而不是 JSException。 所以你可能想把你的网撒得更宽一点,并在你的包装纸上留下一个好的评论。
On certain older browsers, JSObject will throw generic RuntimeExceptions instead of JSException. So you may want to throw your net a little bit wider and leave a good comment in your wrappers.