创建Firefox插件即时修复损坏的网页

Bri*_*anH 11 html firefox firefox-addon

在我的工作中,他们在内部网页上使用"中央登录"工具.每当内部网页需要身份验证时,它会将您转发到中央登录,登录后,它会将您发送回您尝试查看的页面.

此中央登录页面的HTML中的第一行以此开头:

<!-- Encoding=ISO-8859-1;
Run Code Online (Sandbox Code Playgroud)

但它永远不会结束评论,这意味着整个文档中的所有HTML代码实际上都被注释掉了.这在IE6(这是公司标准 - eek!)中运行良好,并且它曾经在Firefox中工作,但是当我升级到Firefox 4时,它不再起作用(因为它不应该 - 它遵循标准).

我已保存源并将第一行更改为:

<!-- Encoding=ISO-8859-1; -->
Run Code Online (Sandbox Code Playgroud)

然后页面将显示,但由于它是从中加载的file:///,我无法将我的凭据提交给主服务器...

我讨厌使用IE6,但是对于所有内部页面我都坚持使用它,因为每次我发送到中央登录时Firefox都会呈现一个空页面.

是否有可能创建一个Firefox插件(甚至是Greasemonkey脚本)来修改HTML,因为它在呈现之前进入浏览器?我看到大量的示例在加载HTML后修改HTML,但加载时无法找到任何操作.

我想除了插件之外,我对其他解决方案持开放态度,但这是我唯一能想到的.此外,我们不允许使用Chrome或Safari,因此不存在.不,我不能与负责中央登录页面的人交谈并让他们改变它.由于页面的性质,代理也可能非常困难.

提前致谢!

Tat*_*ela 1

也许可以使用带有 mod_proxy 和 mod_subsitute 的本地 Apache 来实现此目的?源自berkek.com的示例:

<VirtualHost *>
  ServerAdmin postmaster@yourcorp.com
  ServerName www.yourcompany.com
  <Proxy *>
    Order deny,allow
  </Proxy>
  ProxyRequests on
  ProxyPass / http://www.yourcompany.com/
  ProxyPassReverse / http://www.yourcompany.com/
  AddOutputFilterByType SUBSTITUTE text/html
  Substitute "s|<!-- Encoding=ISO-8859-1;|<!-- Encoding=ISO-8859-1; -->|n"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)