PRB: Server Scripts Within Client Scripts Are Not Colored Correctly
This article was previously published under Q191041 On This PageSYMPTOMS
When a server-side script block appears within a client-side script block,
the text of the server-side script block is not colored correctly.
CAUSE
This is caused by a limitation of the editor's parsing engine.
RESOLUTION
There is no workaround. When possible, do not compose server-side script
within client-side script.
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article.
MORE INFORMATION
This issue does not affect the run-time nature of any code.
This behavior is produced when server-side code (code within the Active Server Pages [ASP] delimeters <%...%> or script tags with the RUNAT=Server directive) appears within a client-side script block. For example, the following samples will exhibit this behavior:
This issue may cause further confusion when the language of the server-side
script block differs from that of the client-side script block. Consider
this script block, where the client-side script is in JavaScript, and the
server-side script is the default, VBScript:
In this example, the two "if" keywords are colored blue, but the "then" and
"end" keywords are not. This is because the parsing engine interprets the
code as a single, client-side script block written in JavaScript. In
JavaScript, "then" and "end" are not keywords, and hence are not colored
blue.
Confusion in this case can be minimized by capitalizing all keywords when composing VBScript (this is the usual convention). Keywords are case sensitive in JavaScript, so the parsing engine will not color "If" blue as a keyword. Steps to Reproduce BehaviorIn Source view, type this text in an ASP page:
The <% and %> script delimiters do not have a yellow background.
| Article Translations
|
Back to the top
