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

Reply via email to