基于XULRunner的应用程序中的页面重新加载和格式错误的HTML问题

时间:2009-02-28 14:24:58

标签: javascript iframe xulrunner

我正在XULRunner上编写一个应用程序,它显示来自Web的HTML页面:

我有一个非常简单的XUL文件,其中只有一个填充窗口并加载本地HTML文件。 在我的HTML中,我有一个加载内容的iframe。 XULRunner最酷的是我可以访问iframe的内容以获取很多东西(显示页面标题,图像......)

有什么不酷的,不像我的应用程序在浏览器中运行时的情况,我有两个大错误,有一些页面:

1)一些(很多?)页面(例如“yahoo.fr”的HTML内容格式错误,特别是对于标签未关闭的标签(最后没有/>的IMG标签)。 ==>这并没有打扰Firefox,但在我的应用程序中,XULRunner不解码HTML,因此在页面中显示粗略的HTML源代码。

2)在某些页面上,例如,现在,nytimes.com的主页,bloglines.com和yahoo.fr的登录页面,iframe中发生的“某事”会导致我的标签的src(即是我的应用程序,应该永远不会改变)改变从而关闭我的应用程序。 ==>我想这可能与尝试在另一个窗口中打开有关。

有没有人有解决这两个问题的线索?更好的XULRunner版本(我使用1.9.1)? XUL选项阻止页面在新窗口中打开?其他

感谢您的帮助,

学家

1 个答案:

答案 0 :(得分:1)

使用<iframe/>而不是<browser type="content-primary"/>。这将解决您的第二个问题(通过让系统知道该框架的内容属于网络而不应该改变您)。

第一个问题实际上取决于如何加载东西。它们来自http,还是来自以前保存的本地文件?你从服务器有用的mime类型和东西吗?或者,如果是本地的,你最终会使用什么文件扩展名?