pal*_*lig 28 html javascript css ajax iframe
我有一点问题 - 但希望答案很简单:)
假设我有一个非常简单的页面链接和iframe(仅用于简单示例).
<body>
<a href="test.html" target="mframe">open link></a>
<iframe name="mframe" [params] />
</body>
Run Code Online (Sandbox Code Playgroud)
因此,当您单击链接时,它将在框架中加载test.html.
现在我将使用div和ajax调用更改iframe.
<body>
<a href="doAjaxCall('test.html')">open link</a>
<div id="main-content"></div>
</body>
Run Code Online (Sandbox Code Playgroud)
doAjaxCall将简单地使用GET ajax requset来获取整个响应,解析它(使用JavaScript)并获取<body>标记中的内容并将其放入main-content.innerHTML中.
test.html包含很多html,也有css样式(但与父页面上的相同 - 所以当我使用ajax解决方案时我不需要它们).
题:
为什么这个ajax解决方案更快?我还在下载相同数量的数据(下载整个test.html).
为什么iframe解决方案如此之慢?是因为浏览器必须再次解析所有可能的样式?或者iframe还有其他开销吗?
Dav*_*gan 27
你几乎走在正确的轨道上.iframes会变慢,因为浏览器会有额外的开销(渲染它,维护它的实例和对它的引用).
ajax调用会更快一些,因为你得到数据然后你注入它,或者做任何你想做的事情.iframe需要在浏览器内存中构建一个全新的"页面",然后将其放在页面中.
归档时间: |
|
查看次数: |
34375 次 |
最近记录: |