我正在寻找一个AJAX函数来动态请求一个HTML页面。我已经发现:跨浏览器AJAX函数动态加载HTML
function ajaxinclude(url)
{
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject) // if IE
{
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.open('GET', url, false) //get page synchronously
page_request.send(null)
return page_request.responseText;
}
它工作正常,在Firefox和Chrome,但它在IE失败以下行:
page_request.open('GET', url, false)
有没有保证是完全美好的可用功能跨浏览器兼容?
编辑:感谢所有伟大的建议......最后,我决定不在这里重新发明轮子。而我忘记提及的其中一件事是,我也需要在一段时间内更新......虽然我已经弄清楚了,所以我认为它没有什么不同。但后来我在原型中发现了伟大的Ajax.PeriodicUpdater()方法,并大大改变了我的想法。我刚刚从50 LOC解决方案到约4行:)
跨浏览器的任何事情都很棘手。使用jQuery等Javascript框架。它只有30k的空间,并且会为你解决这个问题以及其他许多问题。 – cletus 2009-01-11 02:03:39
哪个IE失败? – 2009-01-11 04:36:12
“它只有30k的占地面积”*只有*有30k的占地面积是荒谬的。 – Qix 2014-07-28 18:08:35