求助:使用ajax方式获取新页面内容替换当前整个页面,并执行新页面脚本
在当前页面内,使用ajax方式获取一个新网页的内容,
替代当前网页,包括:显示新网页所有内容,执行新网页该执行的脚本。
用jQuery可以实现,代码如下:
$(function()
{
$.ajax({
url: "show.htm",//目标页面
dataType: "html",
type: "GET",
cache: false,
success: function(html)
{
$("html").html(html);
}
});
});
但是自己写JavaScript代码却搞不定,几个浏览器结果不一样,代码如下:
window.onload=function()
{
var xhr = null;
try
{
xhr = new window.XMLHttpRequest();
} catch( e ) {}
if(xhr == null)
{
try
{
xhr = new window.ActiveXObject( "Microsoft.XMLHTTP" );
} catch( e ) {}
}
if(xhr != null)
{
xhr.open("GET", "show.htm", false);
xhr.send();
if(xhr.status == 200)
{
var html = document.getElementsByTagName("html");
html[0].innerHTML = xhr.responseText;
}
delete xhr;
xhr = null;
}
}
IE8浏览器:
无法设置innerHTML属性。该操作的目标元件无效。
firefox浏览器替代了页面,但是脚本未执行
360安全浏览器,不执行也不报错
谁明白,指点一下,谢谢
或者该怎么用JavaScript模仿jQuery那几句话呢?