On Jan 11, 10:10*pm, Saber <sab...@IEATSPAMMERSoptonline.net> wrote:
> Hey all, I cannot get a page I am working on to validate so I was
> wondering if I can get any help here. *As the subject says, it is with
> the iframe tag. *(I am using 4.01 Strict) It's actually the iframe that
> google gives you to embed a map on your page. *I fixed a couple of
> errors by making a css entry for it (like width, height, scrolling,
> margin). *But, the validator does not like id withing the iframe tag.
> It also doesn't like src and it doesn't like a > saying that "element
> "IFRAME" undefined".
> This is the offending text: (I wrapped it manually so that its not a
> PITA to display in this post, but on the page it is not split up.)
> <iframe id="mapFrame"
> src="http://maps.google.com/maps?f=q&hl=en&geocode=&q=28+Indus....
> Blvd.,+Ste.+B,+Medford,+New+York+11763&sll=37. 0625,-95.677068&sspn=45.688
> 268,69.082031&ie=UTF8&z=14&iwloc=cent& amp;ll=40.819461,-72.95557&
> output=embed&s=AARTsJp_cI0o6gQRP7AbqCui7aMd0Rs Idw"></iframe>
>
> The errors are:
> Line 37, Column 26: there is no attribute "ID".
> * * * * * * *<p><iframe id="mapFrame"
> src="http://maps.google.com/maps?f=q&hl
>
> Line 37, Column 41: there is no attribute "SRC".
> * * * * <p><iframe id="mapFrame"
> src="http://maps.google.com/maps?f=q&hl=
>
> Line 37, Column 333: element "IFRAME" undefined.
> …s=AARTsJp_cI0o6gQRP7AbqCui7aMd0RsIdw"></iframe><br><small><a
> href="http://map
>
> Is there anyway to make this work or do I have to go to Transitional?
It will work in most current browsers despite the fact that it is not
proper html and thus will not validate. Apparently most current
browsers are designed to work with many versions of html, and often
code that is not w3c supported in the newer versions of html is let
through by the loose-as-a-goose html parser. Xhtml, when served
properly as application/xhtml+xml, is parsed as xml and is extremely
strict. Even a slight error that would get by when parsed as html
often results in the pager not being displayed at all, and instead you
get an error message.
Frames and iFrames are just methods to embed a page in another page.
Embed has never been part of w3c html, but rather is a gift of
Netscape, soon supported by IE, in the browser war era. With w3c html
4.01, embed is of course not allowed, and instead one is supposed to
use object code to embed a page in another page. Also frames and
iFrames started to be phased out, and both are not allowed in any
strict version of html or xhtml from html 4.01 on. The support, or
not, of frames and iFrames is slightly different for non strict
versions of html and xhtml. When you reach xhtml 1.1, which comes in
only one version, very strict, frames and iFrames are not allowed at
all.
This subject comes up in this group fairly often. I will copy a
portion of my answer in an earlier thread on this subject below.
__________________________________________________ ______________________________________________
Yes, frame sets are supposed to be replaced with object code in html
4.01 strict, xhtml 1.0 strict and xhtml 1.1 which is of only one kind
and very strict. The problem is that use of an object code in these
cases works on most modern browsers, but not on IE browsers. The
w3schools site long has had an example of a html page embedded in
another html page, but it will not work on IE browsers. However this
can be avoided. There is an ActiveX object that can be used to embed a
html page in another html page. It has been around quite a while and
the clsid for it has been in the Windows OS registry for a long time.
However, for some unknown reason, few seem to use it. One can direct
to the ordinary object needed by most browsers or the ActiveX one
needed by IE by using Microsoft conditional comments.
I have a page at
http://www.cwdjr.net/video4/embedpage.php to
illustrate this. It validates as xhtml 1.1 and is served properly as
mime type application/xhtml+xml which calls in the very strict xml
parser rather than the loose html parser you get when a xhtml page is
wrongly served as text/html. You can in fact embed yet another page
in an embedded page. Some of the embedded media are designed for high
broadband, but other will work on low broadband or even dial up for
some of the audio. Since much of the code is in php on the server,
some of the details will not be apparent from the source code you can
view. However you can see the ActiveX object with the 32 digit clsid
for it, the ordinary object, and the way Microsoft conditional
comments are used.
__________________________________________________ ____________________________________________
The page given above is just a demo to show that use of correct object
code for embedding pages within other pages is quite possible, even
for the very severe conditions of xhtml 1.1 and use of complicated
media code that often is full of errors, even in code written at the
html 4.01 transitional level. Also note that my example page uses
header exchange and php on the server to serve the page as html 4.01
for IE and other browsers that do not support properly served xhtml,
although most modern browsers other than IE will support xhtml served
properly.Thus if you view the page using IE, you will find that it is
coded as html 4.01strict rather than xhtml 1.1.