Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 335947
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T10:11:47+00:00 2026-05-12T10:11:47+00:00

I am hosting a webbrowser control, that usually loads an external documents, then makes

  • 0

I am hosting a webbrowser control, that usually loads an external documents, then makes some modifications using HTML DOM.

We also embed custom application links using a fake protocol, such as “Close This” that are caught and handled in BeforeNavigate2.

When the link tarket is misspelled (say, “spp:CloseWindow”), BeforeNavigate will not trigger custom handling. The Browser control does not show an navigaiton error, but remains in READYSTATE_INTERACTIVE and doesn’t fire a NavigateComplete or DocumentComplete.


My Problem:
Most operations (e.g. retrieving or updating the contents) are delayed and wait for the readystate reaching READYSTATE_COMPLETE. After such an invalid link is clicked, the browser doesn’t get updated anymore – a state I’d like to avoid.
How can I do that?

  • Can I detect in “DownloadComplete” that navigation failed?
    (So I could relax the test to "READYSTATE_COMPLETE or READYSTATE_INTERACTIVE and last downloadComplete was broken“)
  • Can I “reset” the browser control to READYSTATE_COMPLETE (probably not)
  • Could I detect the pseudoprotocols actually supported by the browser?

(In hindsight, using an xxxx: prefix wasn’t such a good idea, but changing that now is a bit of a problem.)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T10:11:48+00:00Added an answer on May 12, 2026 at 10:11 am

    Internet Explorer and Windows have an extensible list of available protocols implemented in UrlMon.dll, I believe. See here for a bit about IE architecture.

    The reason you cannot detect the bad protocol in BeforeNavigate is that the protocol is unknown, so no real navigation is happening. The browser decides to show an error page instead. Error page navigation does not evidently raise all the normal events.

    However, there is a way to detect when navigation has gone in the weeds. If you hook up to the web browser’s DocumentCompleted event, you can scan for particular URLs associated with errors, or more generally, anything with a URL that starts with res://ieframe.dll.

    Examples:

    • res://ieframe.dll/unknownprotocol.htm#spp:CloseWindow
    • res://ieframe.dll/dnserrordiagoff_webOC.htm#http://192…

    A cleaner way is to hook into the NavigateError of the DWebBrowserEvents2 interface.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 162k
  • Answers 162k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer You can use mktime with out-of-range values to do things… May 12, 2026 at 12:05 pm
  • Editorial Team
    Editorial Team added an answer dir(obj) gives you all attributes of the object. You need… May 12, 2026 at 12:05 pm
  • Editorial Team
    Editorial Team added an answer What version of Fluent NHibernate are you using? There have… May 12, 2026 at 12:05 pm

Related Questions

I am trying to access a page that has certain javascript that causes errors
I am hosting a web browser control, and want to provide my own context
Background I am writing and using a very simple CGI-based (Perl) content management tool
I am hosting a WCF service in a Windows Service on one of our
Currently I am hosting a Django app I developed myself for my clients, but

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.