Javascript 重新呈现网页

Javascript 重新呈现网页,javascript,html,node.js,render,Javascript,Html,Node.js,Render,我想知道是否有一种方法可以重新呈现网页,从而重新调用所有的onload事件,并重新绘制css 例如,假设您更改了链接到onload事件的javascript文件的路径,并且为了使更改生效,需要在不刷新的情况下重新加载已编辑的页面。“在不刷新的情况下重新加载”听起来有点让我困惑 但是,我不知道这是否是您要查找的内容,但是window.location.reload()会触发页面重新加载,从而加载链接的javascript文件 但是更改链接文件并重新加载页面不是一件好事。如果您的动态文件以动态方式加

我想知道是否有一种方法可以重新呈现网页,从而重新调用所有的onload事件,并重新绘制css

例如,假设您更改了链接到onload事件的javascript文件的路径,并且为了使更改生效,需要在不刷新的情况下重新加载已编辑的页面。

“在不刷新的情况下重新加载”听起来有点让我困惑

但是,我不知道这是否是您要查找的内容,但是
window.location.reload()
会触发页面重新加载,从而加载链接的javascript文件


但是更改链接文件并重新加载页面不是一件好事。如果您的动态文件以动态方式加载(如使用Ajax)会更好。因此,您不需要重新加载整个页面。JQuery、ExtJS或其他框架提供了轻松实现这一点的方法。

经过测试,现在正在运行:

function fireEvent(element,event){
    if (document.createEventObject){
    // dispatch for IE
    var evt = document.createEventObject();
    return element.fireEvent('on'+event,evt)
    }
    else{
    // dispatch for firefox + others
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent(event, true, true ); // event type,bubbling,cancelable
    return !element.dispatchEvent(evt);
    }
}

setTimeout(function(){

    var links = document.getElementsByTagName("link");
    var st = [];
    for(var x=0;x<links.length;x++)
    if(links[x].getAttribute("rel") == "stylesheet")
    {
        st.push(links[x]);
        links[x].wasAtt = links[x].getAttribute("href");
        links[x].setAttribute("href", "");
    }
    setTimeout(function()
    {
        for(var x =0;x<st.length;x++)
            st[x].setAttribute("href", st[x].wasAtt);
        setTimeout(function(){
            fireEvent(window, "load");
        },1000);
    },1000);
},5000); // test reload after five seconds
函数fireEvent(元素,事件){
if(document.createEventObject){
//工业工程调度
var evt=document.createEventObject();
返回元素.fireEvent('on'+事件,evt)
}
否则{
//为firefox+其他用户发送
var evt=document.createEvent(“HTMLEvents”);
initEvent(event,true,true);//事件类型,冒泡,可取消
return!element.dispatchEvent(evt);
}
}
setTimeout(函数(){
var links=document.getElementsByTagName(“链接”);
var st=[];
对于(var x=0;x