I have a custom APP that handles http:// links without any trouble, but it dies when I come across a file:/// link. Within my APP, I see a call to the ParseUrl function when I click on the file:/// link (same as with the http[s]:// links), but the file is never opened. In other words, if I display the following html on a page: <a href="http://www.google.com">Google</a> <a href="file:///C:/foo.txt">Foo</a> The link to Google works fine, but the link to foo.txt doesn't cause the page to navigate away from it's current position. Also, clicking on the google link results in ParseUrl being callled 7 times with the following ParseActions: PARSE_SECURITY_URL PARSE_SECURITY_DOMAIN PARSE_PATH_FROM_URL PARSE_SECURITY_URL PARSE_SECURITY_DOMAIN PARSE_PATH_FROM_URL PARSE_PATH_FROM_URL Conversely, the link to foo.txt results in ParseUrl being called twice with the following ParseActions: PARSE_SECURITY_URL PARSE_SECURITY_DOMAIN Subsequent clicks on the foo.txt links don't result in any more calls to ParseUrl, while subsequent clicks on the Google link result in several calls with ParseActions of PARSE_PATH_FROM_URL Why does the file: protocol fail where the http and https protocols don't? Is there a function or interface that I may be missing in my implementation that redirects calls to the file protocol directly?
Could the file protocol be failing because I'm viewing the page in an IE control? Since I view the page with my protol (eg: foo://pathToPage/page.htm), does IE think that the page is being viewed from the internet zone, and thus prohibits any access to items referenced with the file protocol? That would suck for me.