0
我有一個歷史API腳本,可以在不需要頁面刷新的情況下加載新的頁面內容。我已經遇到了內聯腳本的問題,其中腳本由jQuery評估,即使之前已經完成了腳本。例如,如果有人用內嵌腳本重新訪問頁面,那麼腳本將在每次重新訪問時執行。如果在腳本中添加DOM元素,會導致問題,如果多次訪問該頁面,該元素將被添加多次。停止jQuery評估已經執行的腳本
由於我不會進入的原因,我不能將這些內聯腳本放到外部文件中並以這種方式加載它們。
下面是處理腳本的代碼;
dom.filter('script').each(function(){//function to allow inline javascript, has to be after page fadeIn incase scripts reference page DOM
$.globalEval(this.text || this.textContent || this.innerHTML || '');
var script_src = ($(this).attr('src'));
if (script_src === 'AJAX/request_feed.js' || script_src === 'js/profile.js'){
$(window).unbind('scroll');
$.getScript(script_src);
}
});
如果您需要整個歷史腳本中的更多零件,請詢問。雖然我不認爲他們是必需的。
說明: if子句用於我有的滾動加載器。我有兩個scroll_loaders,因此每次滾動事件都需要解除綁定和綁定。不需要擔心。
您究竟如何加載內容?你使用'.load()'? – Pointy
@Pointy我只是使用AJAX GET請求並從一個div中取回內容並將其放入頁面。我有更多的控制權 –
那麼你需要明確地去掉你不想評估的'