IFrame Seamless attribute should allow for disabling features

"Axel Dahmen" <[email protected]> Mon, 14 Apr 2014 16:38:06 +0200
Newsgroups gmane.comp.web.html.general
Message-ID <[email protected]>
Dies ist eine mehrteilige Nachricht im MIME-Format.

------=_NextPart_000_000E_01CF57FF.E99FBA70
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

After reading the HTML5 specification on the seamless attribute of the =
iframe element, I believe the seamless attribute to be too narrowly =
considered.

It seems, the seamless attribute basically enables three features:

* automatic iframe height calculation
* CSS integration
* DOM integration

I see a problem in integrating the later two. So I would like to suggest =
the seamless attribute to become a comma separated list of above three =
Seamless properties to be enabled. For backward compatibility to HTML5, =
if the attribute value equals "seamless", all three properties should be =
enabled.


Here's my reason for this suggestion:

I'm using iframe elements to render micro parts of a web page, e. g. a =
data grid, without requiring much JavaScript ado. In the following I =
call these iframe micro page elements "controls".

In our web application I'm inserting arbitrary iframe controls into =
several web pages.

If the page's CSS would have influence on the iframe control's =
rendering, then it would be necessary to test each and every iframe =
control on each and every page where the iframe control could possibly =
be inserted (probably database driven), because some CSS on any =
particular page might have bad influence on the iframe control's =
content.

So I would prefer to just add an additional <link> element (the =
application's CSS) to the iframe control's HTML content and still be =
sure that there won't be any other CSS influencing the iframe control's =
HTML presentation.


Same for DOM integration: jQuery selectors may find elements not =
intended to be found if both, the page's and the iframe controls' DOM =
trees would be merged.

The current definition results in a testing hell, from my perspective.


So I suggest that any of the above three seamless features may be =
optionally applicable.

Possible seamless attribute values may be (just suggesting some names =
here):

    autoheight   =3D   sets the iframe's height to the minimum height =
necessary to omit a scrollbar
    cssinclude   =3D   have the page content's CSS being prepended to =
the iframe content's CSS
    dominclude   =3D   have the iframe content's DOM integrate with the =
page content's DOM
    seamless     =3D   "autoheight,cssinclude,dominclude"

attribute seamless =3D [ autoheight || cssinclude || dominclude ] | =
seamless

Regards,
Axel Dahmen 
------=_NextPart_000_000E_01CF57FF.E99FBA70
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<HTML><HEAD></HEAD>
<BODY dir=3Dltr>
<DIV dir=3Dltr>
<DIV style=3D"FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; COLOR: =
#000000">
<DIV>After reading the HTML5 specification on the seamless attribute of =
the=20
iframe element, I believe the seamless attribute to be too narrowly=20
considered.</DIV>
<DIV>&nbsp;</DIV>
<DIV>It seems, the seamless attribute basically enables three =
features:</DIV>
<DIV>&nbsp;</DIV>
<DIV>* automatic iframe height calculation</DIV>
<DIV>* CSS integration</DIV>
<DIV>* DOM integration</DIV>
<DIV>&nbsp;</DIV>
<DIV>I see a problem in integrating the later two. So I would like to =
suggest=20
the seamless attribute to become a comma separated list of above three =
Seamless=20
properties to be enabled. For backward compatibility to HTML5, if the =
attribute=20
value equals "seamless", all three properties should be enabled.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Here's my reason for this suggestion:</DIV>
<DIV>&nbsp;</DIV>
<DIV>I'm using iframe elements to render micro parts of a web page, e. =
g. a data=20
grid, without requiring much JavaScript ado. In the following I call =
these=20
iframe micro page elements "controls".</DIV>
<DIV>&nbsp;</DIV>
<DIV>In our web application I'm inserting arbitrary iframe controls into =
several=20
web pages.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If the page's CSS would have influence on the iframe control's =
rendering,=20
then it would be necessary to test each and every iframe control on each =
and=20
every page where the iframe control could possibly be inserted (probably =

database driven), because some CSS on any particular page might have bad =

influence on the iframe control's content.</DIV>
<DIV>&nbsp;</DIV>
<DIV>So I would prefer to just add an additional &lt;link&gt; element =
(the=20
application's CSS) to the iframe control's HTML content and still be =
sure that=20
there won't be any other CSS influencing the iframe control's HTML=20
presentation.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Same for DOM integration: jQuery selectors may find elements not =
intended=20
to be found if both, the page's and the iframe controls' DOM trees would =
be=20
merged.</DIV>
<DIV>&nbsp;</DIV>
<DIV>The current definition results in a testing hell, from my=20
perspective.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>So I suggest that any of the above three seamless features may be=20
optionally applicable.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Possible seamless attribute values may be (just suggesting some =
names=20
here):</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; autoheight&nbsp;&nbsp; =3D&nbsp;&nbsp; sets the =
iframe's=20
height to the minimum height necessary to omit a scrollbar</DIV>
<DIV>&nbsp;&nbsp;&nbsp; cssinclude&nbsp;&nbsp; =3D&nbsp;&nbsp; have the =
page=20
content's CSS being prepended to the iframe content's CSS</DIV>
<DIV>&nbsp;&nbsp;&nbsp; dominclude&nbsp;&nbsp; =3D&nbsp;&nbsp; have the =
iframe=20
content's DOM integrate with the page content's DOM</DIV>
<DIV>&nbsp;&nbsp;&nbsp; seamless&nbsp;&nbsp;&nbsp;&nbsp; =3D&nbsp;&nbsp; =

"autoheight,cssinclude,dominclude"</DIV>
<DIV>&nbsp;</DIV>
<DIV>attribute seamless =3D [ autoheight || cssinclude || dominclude ] | =

seamless</DIV>
<DIV>&nbsp;</DIV>
<DIV>Regards,</DIV>
<DIV>Axel Dahmen </DIV></DIV></DIV></BODY></HTML>

------=_NextPart_000_000E_01CF57FF.E99FBA70--