Improving FAQ re Robby
This commit is contained in:
parent
07227ed8f7
commit
ee5811b930
|
@ -69,14 +69,38 @@ from the MIT Cookie Eaters.
|
||||||
Note: It may be considered a great feature that URLs can be shared this way, because delegation is
|
Note: It may be considered a great feature that URLs can be shared this way, because delegation is
|
||||||
easily built into an application via URLs.
|
easily built into an application via URLs.
|
||||||
|
|
||||||
@section{IE ignores my CSS or behaves strange in other ways}
|
@section{My browser displays my page strangely: my CSS is ignored, sections are missing, etc.}
|
||||||
|
|
||||||
@(require (for-label xml))
|
@(require (for-label xml
|
||||||
|
web-server/http/response-structs))
|
||||||
|
|
||||||
In quirks mode, IE does not parse your page as XML, in particular it will not recognize many instances of
|
@(define xexpr @tech[#:doc '(lib "xml/xml.scrbl")]{X-expression})
|
||||||
"empty tag shorthand", e.g. "<img src='...' />", whereas the @web-server uses @racketmodname[xml]
|
|
||||||
to format XML, which uses empty tag shorthand by default. You can change the default with the @racket[empty-tag-shorthand]
|
Most @web-server developers use @|xexpr|s for representing the
|
||||||
parameter: @racket[(empty-tag-shorthand 'never)].
|
HTML of their page. However, @|xexpr|s only represent XML and HTML is not exactly
|
||||||
|
XML. This is a common source of problems.
|
||||||
|
|
||||||
|
For example, XML allows the "empty tag shorthand", e.g. @litchar{<img src='...' />},
|
||||||
|
on every tag, while HTML occasionally requires an end tag, e.g. @link["http://www.w3.org/TR/html401/interact/forms.html#h-17.7"]{TEXTAREA}.
|
||||||
|
Similarly, XML allows an end tag, e.g. @litchar{<img src='...'></img>}, on every tag, while
|
||||||
|
HTML occasionally forbides an end tag, e.g. @link["http://www.w3.org/TR/html401/struct/objects.html#h-13.2"]{IMG}.
|
||||||
|
(Of course, browsers do not necessarily implement their HTML parsing as specified and may be more or less lenient towards
|
||||||
|
XML-like HTML, so your test browser may not treat these forms as problematic.)
|
||||||
|
|
||||||
|
Since the @web-server uses @racketmodname[xml] to format @|xexpr|s, it inherits @racketmodname[xml]'s default rendering behavior
|
||||||
|
in general and its use of "empty tag shorthand" in particular. @racketmodname[xml]'s is to always use this short hand. You
|
||||||
|
can change it with the @racket[empty-tag-shorthand] parameter.
|
||||||
|
|
||||||
|
You can also change your @xexpr so that an end tag is forced. For example, @racket['(textarea [(name "text")])] renders as
|
||||||
|
@litchar{<textarea name="text" />}, while @racket['(textarea [(name "text")] "")] renders as
|
||||||
|
@litchar{<textarea name="text"></textarea>}, because of the string content in the @|xexpr|.
|
||||||
|
|
||||||
|
You may think the @web-server could do a better job advertising that the contents it serves is more like XML by default. Unfortunately,
|
||||||
|
browser support for such @link["http://www.w3.org/TR/xhtml-media-types/#media-types"]{advertisement} is @link["http://www.w3.org/MarkUp/2004/xhtml-faq#ie"]{lacking}.
|
||||||
|
You can use @racket[make-xexpr-response] to easily customize your application's MIME type and response headers.
|
||||||
|
|
||||||
|
Finally, you may find Web browser inspectors such as the Safari Inspector, Firebug, and the Google Chrome error console to be useful
|
||||||
|
tools in identifying offending tags.
|
||||||
|
|
||||||
@section{How do I use templates ``dynamically"?}
|
@section{How do I use templates ``dynamically"?}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user