2011-11-25 145 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嚴格相同)。