2011-11-25 143 views
2

我建立一个网站,谷歌的地图,它默认生成的代码:I帧无效在XHTML严格

<iframe width="550" height="500" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Amber,+115+Portswood+Road,+Southampton,+SO17+2FX,+United+Kingdom&amp;aq=0&amp;sll=50.923556,-1.394663&amp;sspn=0.006709,0.01929&amp;vpsrc=6&amp;ie=UTF8&amp;hq=Amber,&amp;hnear=115+Portswood+Rd,+Southampton+SO17+2,+United+Kingdom&amp;t=m&amp;ll=50.923178,-1.393676&amp;spn=0.012985,0.027466&amp;z=15&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=Amber,+115+Portswood+Road,+Southampton,+SO17+2FX,+United+Kingdom&amp;aq=0&amp;sll=50.923556,-1.394663&amp;sspn=0.006709,0.01929&amp;vpsrc=6&amp;ie=UTF8&amp;hq=Amber,&amp;hnear=115+Portswood+Rd,+Southampton+SO17+2,+United+Kingdom&amp;t=m&amp;ll=50.923178,-1.393676&amp;spn=0.012985,0.027466&amp;z=15" style="color:#0000FF;text-align:left">View Larger Map</a></small> 

现在检查严格的XHTML的时候,因为它是框架这是这引发错误过时了,但我应该用什么来代替?

感谢您的帮助

回答

5

如果你必须有你的页面上的地图的iframe,最简单的解决办法是改变你的DOCTYPE为XHTML 1.0过渡,而不是,它允许使用iframe:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

但是,如果您开始发现页面呈现方面存在任何差异(请参阅standards mode vs almost standards mode),并且您更关心网站在网页浏览器中的效果而不是验证标记,只需保留XHTML 1.0严格的文档类型即可。浏览器不会因为页面无效而出错XHTML;他们会很好地处理你的iframe。

1

存在一个肮脏的把戏用javascript:

function load() 
{ 
    document.getElementById("ramec").innerHTML = '<iframe class="ramec"></iframe>'; 
} 

和:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<script type="text/javascript" src="yourjshere.js"> 
</script> 
<title></title> 
</head> 
<body onload="load()"> 
<div id="ramec"> 
</div> 
</body> 
</html> 

在第一个链接的文档验证为XHTML1.0严格,尽管它使用里面的iframe(尝试链接在文档中)。重要的部分是将iframe放入文档的Javascript是外部的。

我不确定它是否值得所有的努力。也许更改为HTML4.1严格文档类型会更有帮助(页面的渲染将与XHTML1.0严格相同)。