簡體   English   中英

重新呈現網頁

[英]Re-render a webpage

我想知道是否有一種方法可以重新渲染網頁,從而再次調用所有onload事件並重繪CSS?

例如,假設您更改了鏈接到onload事件的javascript文件的路徑,並且需要重新加載已編輯的頁面而無需刷新即可使更改生效。

經過測試,現在可以正常工作:

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

“重新加載而不刷新”聽起來讓我有些困惑。

但是我不知道這是否是您要尋找的,但是window.location.reload()觸發頁面重新加載,因此將加載您鏈接的javascript文件。

但是更改鏈接文件並重新加載頁面不是一件好事。 如果以動態方式(例如使用Ajax)加載動態文件會更好。 因此,您無需重新加載整個頁面。 諸如JQuery,ExtJS等框架提供了輕松實現此目的的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM