将HTML文件内容加载到Div
我很确定这是一个常见的问题,但我对JS很新,并且遇到了一些麻烦。
我想加载x.html到ID为“Y”的div而不使用iframe。 我尝试了一些东西,search周围,但我找不到一个体面的解决scheme,我的问题。
如果可能的话,我更喜欢使用JavaScript。
在此先感谢大家!
哇,从所有的框架推广的答案你会认为这是JavaScript的难以置信的困难。 这不是真的。
var xhr= new XMLHttpRequest(); xhr.open('GET', 'x.html', true); xhr.onreadystatechange= function() { if (this.readyState!==4) return; if (this.status!==200) return; // or whatever error handling you want document.getElementById('y').innerHTML= this.responseText; }; xhr.send();
如果您需要IE <8兼容性,请首先执行以下操作来加快浏览器的速度:
if (!window.XMLHttpRequest && 'ActiveXObject' in window) { window.XMLHttpRequest= function() { return new ActiveXObject('MSXML2.XMLHttp'); }; }
请注意,使用脚本将内容加载到页面中会使内容对没有JavaScript可用的客户端(例如search引擎)不可见。 小心使用,并考虑服务器端包括,如果你想要的是把数据放在一个共同的共享文件。
jQuery的:
$("#y").load("x.html");
我build议进入其中一个JS库。 他们确保兼容性,所以你可以快速启动和运行。 jQuery和DOJO都非常棒。 例如,要做到你想在jQuery中做什么,它会是这样的:
<script type="text/javascript" language="JavaScript"> $.ajax({ url: "x.html", context: document.body, success: function(response) { $("#yourDiv").html(response); } }); </script>
document.getElementById("id").innerHTML='<object type="text/html" data="x.html"></object>';
http://www.boutell.com/newfaq/creating/include.html
这将解释如何编写自己的clientsideinlcude,但jQuery是很多,很容易的选项…再加上你会通过使用jQuery反弹得到更多