[whatwg] <include> element
Maciej Stachowiak
mjs at apple.com
Fri Apr 27 03:55:54 PDT 2007
On Apr 27, 2007, at 3:36 AM, Jonas Sicking wrote:
> Martin Atkins wrote:
>> Christian Schmidt wrote:
>>>
>>> In practice, the result effect is often achieved by wrapping your
>>> include file in a document.write() and including this using
>>> script a <script src="...">. However, this makes it harder to
>>> write these includes by hand (you have to escape certain
>>> characters, ' " \ \n \r \t), and debugging also gets more difficult.
>>>
>> This last point made me think of a related issue:
>> When you use the above technique, the included script runs in the
>> security context of the including page, and this technique
>> therefore requires complete trust of the included document.
>> Would documents included via <include> run in the security context
>> of the including page, as with the script technique, or would they
>> run in the context of the included document, as with iframes?
>> Personally I favor the latter, but I wonder if this impact's
>> anyone's use-cases?.
>
> They would run in the context of the included page, just like an
> iframe. The processing of <include> is exactly that of <iframe> the
> only difference is in the rendering.
In that case, wouldn't it make more sense to make in an attribute on
iframe, or some setting of the CSS properties, instead of a whole
different element? Different elements with identical processing model
is a red flag, at least when the processing model is complex.
One question I have is whether the <include> element would be limited
to being a rectangular area, or if it could participate in inline
flow, or act as multiple separate blocks that lay out independently.
If the former, then I would suggest appropriate values of the CSS
height and width properties make sense. If the latter, I think it
could be pretty impractical to implement, and probably not worth the
effort. Layout engines tend to assume that there is a CSS canvas and
viewport at the root of the document and may not be prepared to
inject content from another document into arbitrary points in the
render tree.
In fact, if it is limited to same-site references as you suggest, I'm
not sure what it really buys you over XMLHttpRequest and then setting
innerHTML on the target element.
- Maciej
>
> In fact, for security reasons we might end up having to use <iframe
> type="include"> or some such rather than <include>
>
> This is all detailed in my original proposal.
>
> / Jonas
More information about the whatwg
mailing list