0

我有一个嵌入壁虎浏览器的应用程序。当我尝试访问任何 https url 时应用程序崩溃,因为此时 nss 未正确初始化。崩溃发生在 PK11_TokenExists() 中。我想阻止我的浏览器呈现 https 网站。如果用户单击 https 链接,我可以在 nsIURIContentListener 的 OnStartURI() 中阻止该加载。但如果用户输入说 orkut.com,我不会在 OnStartURI() 中知道它是 http url 还是 https 的(即它是否将使用 SSL 与否)。我想知道在这种情况下如何阻止 https url?

感谢 jbsp72

4

2 回答 2

2

我会首先尝试找出您的应用程序在 HTTPS/SSL 连接上崩溃的原因。我认为修复崩溃比试图避免它更好。

于 2008-09-19T12:39:58.100 回答
1

您可以通过以下方式实现:

实现接口的OnStateChange方法nsIWebProgressListener

检查参数aStateFlags:如果此参数包含标志STATE_IS_DOCUMENTSTATE_START,则正在导航到新位置。

要查找 URL,请使用参数aRequest。它有 type nsIRequest,但将其强制转换为 type nsIChannel。然后读取URI属性。这包含要导航到的 URL。

如果 URI 以“https”开头,则通过调用 parameter 的cancel方法中止导航,并作为参数aRequest传递。NS_BINDING_ABORTED

于 2010-03-10T16:34:56.380 回答