来自:众成翻译 译者:边城
动态创建 元素
加载和处理脚本需要时间,但有些时候,加载了脚本却从未使用。加载这样的脚本纯粹是在浪费时间和资源,最好根本就不要加载不使用的脚本。通过一个简单的加载器脚本可以检查其它脚本是否会用到,只有在脚本实际用到的时候才创建脚本元素。
理论上来说,在页面加载完成之后可以通过 SCRIPT 元素来加载额外的脚本并通过 DOM 添加到文档中。当前所有主流浏览器都支持这样做,但是它实际上可能是在浏览器上请求而不是立即加载脚本。另外,如果需要在页面加载完成之前加载脚本,就最好在脚本加载的过程中进行检查并使用 document.write 来创建脚本标签。千万记得要转义斜杠以免过早结果当前脚本:
if(document.createElement && document.childNodes) { document.write('<\/script>');}if(window.XMLHttpRequest) { document.write('<\/script>');}
location.replace() 控制历史记录
偶尔是需要使用脚本来改变页面地址。最典型的做法是给 location.href 赋予一个新地地址。这样做会添加一个历史记录,同时加载一个新的页面,这和激活一个普通的链接一样。
在某些情况下,并不希望出现一条额外的历史记录,因为用户不需要回到之前的页面。如果在内存特别重要的环境下,这样做就非常有用。当前页面使用的内存可以通过替换历史记录来得到重新利用,使用 location.replace() 方法就可以做到。
`location.replace('newpage.html');`
请注意,该页可能仍然保留在缓存中,并可能在那里使用内存,但不会用到像保存在历史记录里那么多。
京程一灯,梦起的地方,我们始终相信通过努力,可以改变自己的命运。
我们始终相信,通过坚持不懈,可以为大家解决更多的前端技术问题。
我们始终相信,时间可以证明,我们可以为广大IT从业者解决前端学习路线。
HTML5,CSS3,Web前端,jquery,javascript,前端学习路线,各类问题,我们都可以为你解决。
更多技术好文,前端问题,面试技巧,请关注京程一灯(原一灯学堂)