Hi,
may be it's just because you URL has the wrong form. Have you tried specifying the file URL with three slashes ? I'd say the correct URL would have to be written like this:
file:///C:/NTE/....
Stephan
Brian wrote:
I found a problem and fixed it, but I don't understand why the fix works. I'm posting here to ask if anyone else can explain it.
The Problem -------------
We have embedded Gecko in a C++ app. I'm calling docShell->LoadStream to load an HTML document. The HTML document has these two lines in its <HEAD> section:
<script src='file://C:/NTE/Tests/9991/Scripts/ITSMC.js' language='javascript'></script>
<script src='file://C:/NTE/Tests/9991/Scripts/NWEAMC.js' language='javascript'></script>
The document displays just fine but the code in the two JavaScript files never runs. The document also contains IMG tags with similar fully specified absolute file:// URLs and the images display correctly. If I load the same document via nsIWebNavigation::LoadURI the JavaScript code does run. My JavaScript event handlers respond as they should. The problem occurs only when loading from a stream. Here's my LoadStream command:
rv = docShell->LoadStream(inputStream, nsnull, NS_LITERAL_CSTRING("text/html"), NS_LITERAL_CSTRING(""), nsnull);
The Solution -------------
I can load from a stream and the JavaScript files work if I specify a protocol in the second parameter:
rv = docShell->LoadStream(inputStream, "file://", NS_LITERAL_CSTRING("text/html"), NS_LITERAL_CSTRING(""), nsnull);
(No, that's not the exact code--the second parameter is really an nsIURI object, not a string. Yes, I do make a URI to hold the protocol string.)
That fixes the problem, but I don't understand why. The SRC attributes already say "file://". Why does that parameter value make a difference?
Brian
_______________________________________________ mozilla-embedding mailing list [email protected] http://mail.mozilla.org/listinfo/mozilla-embedding
