2012-04-19 97 views
1

我最近在周末发现,iframe在XHTML严格无效。然后刷新某些内容的正确方法是什么?一位朋友说只需使用div并使JavaScript刷新它,这是真的吗?有效的类iframe技术

回答

1

你的朋友在某种意义上是对的。通过使用AJAX将页面加载到<div>容器中,您可以获得与iframe类似的效果。问题在于,AJAX请求通常限制在同一个域中,因此您将无法加载其他网站。您可以从自己的域中加载其他页面。

使用jQuery AJAX非常容易。看看这个功能:

http://api.jquery.com/load/

<div id="externalcontent">This text will be replaced.</div> 
<script type="text/javascript"> 
$('#externalcontent').load('separate_pages/page2.html'); 
</script> 

,你可以只使用服务器端方法加载内容这将是一种毫无意义的,但它显示了另一个页面可以在加载多么容易使用jQuery。

+0

这是完美的我需要的,谢谢。 – 2012-04-19 15:10:47

1

使用XHTML框架集

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

http://www.jonasjohn.de/snippets/html4strict/frameset-example.htm

+0

我不能使用frameset,它必须对我的工作严格要求。 – 2012-04-19 15:03:51

+0

是否必须使用XHTML? <!DOCTYPE html>(HTML5文档类型)? 为什么使用XHTML 1.0 Strict Doctype这么重要? – 2012-04-19 15:06:51

+0

这就是客户想要的,所以这就是客户想要的。 Iframes仍然不会在HTML 5中验证,因为它们已被弃用。 – 2012-04-19 15:13:05

1

JavaScript是不错的。查看jQuery(http://jquery.com/)以更轻松地进行DOM操作!

+0

我会使用一个div然后正确吗? – 2012-04-19 15:06:46

+0

你基本上可以使用任何元素。 divs虽然对你的问题有很好的基本属性! – jelgh 2012-04-19 17:38:07