有效的iframe-like技术

有效的iframe-like技术,iframe,html,Iframe,Html,我最近在周末发现iFrame在XHTML中是无效的。那么,刷新某些内容的正确方法是什么?一位朋友说只要使用div并让JavaScript刷新它们,这是真的吗?使用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

我最近在周末发现iFrame在XHTML中是无效的。那么,刷新某些内容的正确方法是什么?一位朋友说只要使用div并让JavaScript刷新它们,这是真的吗?

使用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">


Javascript很好。查看jQuery(http://jquery.com/)为了更简单的DOM操作

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

AJAX使用jQuery非常简单。查看此功能:

此文本将被替换。
$('externalcontent').load('separate_pages/page2.html');

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

它必须通过XHTML吗?那(HTML5 Doctype)呢?为什么它使用XHTML 1.0 Strict Doctype如此重要?这是客户机想要的,也是客户机想要的。iFrame仍然无法在HTML5中验证,因为它们已被弃用。它们没有弃用,
甚至在HTML5中收到了新功能。但是,如果您的客户希望XHTML严格,那么这不是您的解决方案(除非他们能够被说服,否则这可能是明智的)。我的错误,几分钟前我刚刚问过我的网页设计教授,他说他们不赞成使用XHTML严格,但我想他只是指严格?不过,我确实在HTML5中看到了iIFrames的新特性。我可能会试着说服他们让我把他们的网站改成5,只是意味着更多的钱:)你基本上可以使用任何元素。不过,div对于您的问题有很好的基本属性!
<div id="externalcontent">This text will be replaced.</div>
<script type="text/javascript">
$('#externalcontent').load('separate_pages/page2.html');
</script>