在Facebook页面中浏览时,页面加载之间的页眉和页脚固定部分仍然可见,并且地址栏中的URL也会相应更改。至少,这就是我的错觉。
从技术上来讲,Facebook如何实现这一目标?
有关样式的设置,请参考Mark Brittingham的答案,尽管我认为这不是您要的。我将为您提供有关其工作原理的技术细节(以及为何如此出色)。
将鼠标悬停在标题中的“个人资料”链接上时,请查看状态栏…
http://www.facebook.com/profile.php?id=514287820&ref=profile
那就是标签所指向的地方。现在,当您单击它时查看地址栏…
http://www.facebook.com/home.php#/profile.php?id=514287820&ref=profile
注意“#”
片段标识符/哈希吗?这基本上证明您尚未离开页面,并且先前的请求是使用AJAX进行的。他们正在拦截这些链接上的click事件,并使用自己的东西覆盖默认功能。
要使用Javascript做到这一点,您所需要做的就是为这些链接分配一个click事件处理程序,如下所示:
var header = document.getElementById('header');
var headerLinks = header.getElementsByTagName('a');
for(var i = 0, l = headerLinks.length; i < l; i++) {
headerLinks[i].onclick = function() {
var href = this.href;
//Load the AJAX page (this is a whole other topic)
loadPage(href);
//Update the address bar to make it look like you were redirected
location.hash = '#' + href;
//Unfocus the link to make it look like you were redirected
this.blur();
//Prevent the natural HTTP redirect
return false;
}
}
这种方法的一个很棒的好处是,它允许后退按钮正常工作(增加了一些诡计),这在传统上一直是长期使用AJAX的痛苦副作用。我不是100%知道这是什么骗术,但我敢打赌,它可以某种方式检测到浏览器何时修改了片段标识符(可能每500毫秒检查一次)。
附带说明一下,将哈希值更改为在DOM中找不到的值(通过元素ID)将使页面一直滚动到顶部。看看我在说什么:从Facebook顶部向下滚动大约10个像素,露出顶部菜单的一半。单击其中一项,一旦片段标识符更新(没有
任何 窗口重绘/重画延迟),它将立即跳回到页面顶部。
问题内容: 如何使用itext从html源向pdf添加标头? 当前,我们扩展了PdfPageEventHelper并覆盖了这些方法。工作正常,但是当我进入2个以上页面时,它将引发RuntimeWorkerException。 问题答案: 通常, 禁止 在事件中添加内容。这是 禁止 添加内容到的对象。您应该使用而 不是 文档在方法中添加页眉和页脚。此外:通过一遍又一遍地解析HTML,您正在浪费大量C
也许以前有人问过这个问题,但我似乎找不到一个准确的答案或解决办法。我开始使用RecycerView,并使用LinearLayoutManager实现了它。现在,我想添加自定义的页眉和页脚项,这些项不同于RecycerView中的其他项。页眉和页脚不应该粘,我希望他们滚动与其余的项目。有人能指出一些例子如何做到这一点或只是分享想法。我会非常感激的。THX
我将页眉和页脚设置为Position:Fixed。但如果是可滚动的内容,则文本将转到页眉/页脚区域:下面是我的完整代码:http://jsfidle.net/kaqz1km2/6/ 在这种情况下,我不想使用background-image或background-color。 下面是CSS: null null
问题内容: 我已经通过Ajax调用通过隐藏的iframe读取了Facebook加载页面的地方…这是真的吗? 问题答案: Facebook使用他们称为BigPipe的东西,它将页面分成一堆小小的“小页面”,这些小页面分别通过AJAX加载。 在下图中,浅蓝色突出显示的区域是单个的小页面。
我正在开发一个Spring MVC应用程序,它将FreeMarker用于我的视图。 我对FreeMarker非常陌生,我有以下问题:在我的projct中,有3个文件必须被组装到一个页面中。 所以我有: 1) 标题。ftl表示我所有页面的标题,类似于: 2)footer.ftl代表我所有页面的页脚: 3) 然后我有了我的特定页面(名为myPage.ftl),它只表示内容,如下所示: 标题。ftl和页
问题内容: 如何在我的PDF页面中添加 页眉 和 页脚 ?我想要一个表,表头中有3列,其他表中,页脚中有3列。我的页面可能是A3或A4,并且是横向或纵向。 谁能帮我?我在互联网上找不到很好的例子。 谢谢! mas正 问题答案: 创建一个MyPageEventListener类,该类扩展了 PdfPageEventHelper 将页面事件侦听器添加到PdfWriter对象 在MyPageEventL