0

geckoブラウザが組み込まれたアプリケーションがあります。この時点でnssが適切に初期化されていないため、httpsURLにアクセスしようとするとアプリケーションがクラッシュします。クラッシュはPK11_TokenExists()にあります。ブラウザによるhttpsサイトのレンダリングをブロックしたい。ユーザーがhttpsリンクをクリックすると、nsIURIContentListenerのOnStartURI()でその読み込みをブロックできますが、ユーザーがorkut.comと入力した場合、OnStartURI()でhttp URLかhttpsURLか(つまり、 SSLを使用するかどうか)。このような場合にhttpsURLをブロックする方法を知りたいですか?

ありがとうjbsp72

4

2 に答える 2

2

まず、アプリケーションがHTTPS/SSL接続でクラッシュする理由を理解しようとします。クラッシュを回避するよりも、クラッシュを修正する方が良いと思います。

于 2008-09-19T12:39:58.100 に答える
1

これは次の方法で実装できます。

OnStateChangeインターフェイスのメソッドを実装しnsIWebProgressListenerます。

パラメータを確認してくださいaStateFlags:このパラメータにフラグSTATE_IS_DOCUMENTとが含まれている場合STATE_STARTは、新しい場所に移動しています。

URLを見つけるには、パラメータを使用しますaRequest。タイプはですが、タイプnsIRequestにキャストしnsIChannelます。次に、URIプロパティを読み取ります。これには、ナビゲートされるURLが含まれます。

URIが「https」で始まる場合は、パラメータのcancelメソッドを呼び出してナビゲーションを中止し、パラメータとしてaRequest渡しNS_BINDING_ABORTEDます。

于 2010-03-10T16:34:56.380 に答える