草庐IT

pushstates

全部标签

javascript - history.pushstate 使浏览器后退和前进按钮失败

我正在使用jQuery动态加载div容器中的内容。服务器端代码检测请求是AJAX还是GET。我希望浏览器的后退/前进按钮与代码一起工作,所以我尝试使用history.pushState。我必须执行以下代码:$('.ajax').on('click',function(e){e.preventDefault();$this=$(this);$('#ajaxContent').fadeOut(function(){$('.pageLoad').show();$('#ajaxContent').html('');$('#ajaxContent').load($this.attr('href'

javascript - History.pushState 和页面刷新

我开始看HTML5新的历史API但是,我有一个问题。如何处理页面刷新?例如用户点击一个链接,这是由一个js函数处理的,它异步加载页面内容用history.pushState()改变URL用户刷新页面,但是服务器上当然不存在该URL您如何处理这种情况?使用哈希解决方案没有问题谢谢 最佳答案 这确实需要服务器端的支持。.pushState的理想用途是允许服务器智能地处理来自JavaScript应用程序的URL。这可以通过重新提供相同的JavaScript应用程序并让它检查window.location,或者像在普通Web应用程序中那样在

javascript - 从 chrome 扩展监控 history.pushstate

我正在开发一个Chrome扩展来调整Facebook。但是,如Facebook等支持HTML5的网站中捕获浏览操作需要覆盖window.history.pushState,如inthisSOquestion所述。.不幸的是,Chrome的隔离世界似乎阻止了这种覆盖。除了轮询document.location.href之外,还有其他捕获历史更改的方法吗? 最佳答案 不确定您是否尝试在background.js或content.js中执行此操作,但如果是前者,您可以使用webNavigation事件执行此操作:您需要在ma​​nifes

替换()和PushState():什么是全局浏览器历史记录?

history.replacestate()操作完全类似于history.pushstate(),除了替换()修改当前的历史记录条目,而不是创建新的历史记录。请注意,这并不能阻止在全球浏览器历史记录中创建新条目。https://developer.mozilla.org/en-us/docs/web/api/history_api谁能解释什么是全球浏览器历史记录?它与普通浏览器历史记录有何不同?看答案它的意思是history.replaceState()可以在您的浏览器历史记录中添加一个条目(Ctrl+H在大多数浏览器上),尽管它不会为当前历史记录添加一个条目(即浏览器返回按钮行为)

javascript - 为什么这个网站使用 html5 pushstate 对 seo 不友好?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion我刚刚使用html5historyapi和“pushstate”使用history.js库构建了这个网站。http://renovari.co.uk我将它提交给google索引,但在google中查看该网站的结果后,我发现该文本未被抓取。我已经在Internet上看到了很多这样的例子......有什么问题?

javascript - 没有直接链接的 JS pushState

我正在寻找一种方法来支持对通过AJAX加载的内容进行SEO。我的站点处理url,例如:www.example.com/part/{number}。然后在主页上JS执行AJAX请求并接收内容。在AJAX回调中使用了pushState。如果主页始终包含相同的内容,Googlebot会尊重动态内容(没有重复的内容)吗?如果没有,是否有办法做到这一点? 最佳答案 WilltheGooglebotrespectdynamiccontent(withoutduplicate)ifthehomepagehasalwaysthesameconten

javascript - 将 pushstate 与内容重复使用会导致 SEO 问题吗?

我知道还有其他一些关于pushState和SEO的类似问题,但我找不到关于这个问题的问题。如果我有一个带有urlsite.com/Product/Detail2的页面,它将与site.com/Product关联的所有“页面”加载到其中,然后将Detail2滚动到View中,如果有,它会导致SEO问题吗像site.com/Product/Detail1和site.com/Product/Detail3这样的链接?这些url中的每一个实际上都将加载完全相同的内容,但是将用户滚动到页面中详细信息所在的部分,类似于片段标识符的工作方式。我知道谷歌不会运行JavaScript并且会抓取所有这些产

angularjs - 使用 pushState 的 AngularJS 应用程序的 HTML 片段?

我正在决定使用pushState在AngularJS中开发面向客户的应用程序是否安全。我读到过,在AngularJS应用中使用pushState时,我们无需担心Googlebot,因为它现在可以执行足够的JS来为自己生成HTML片段。但后来我想知道Bing、Facebook和其他机器人和爬虫。我看过的使AngularJSSEO友好的教程都涉及使用hashbangs(#!)的应用程序。这些不适用于我,因为我没有使用hashbangs。有没有人知道这个问题?有哪些方法可以确保使用pushState的AngularJS应用SEO友好和社交抓取工具友好?如果您使用像Seo4Ajax或prere

javascript - 带有 pushstate SEO 的可爬取的 javascript spa

我制作了一个单页应用程序。我读过以下文章create-crawlable-pushstate.我在使用hashbang时遇到了问题。这对我来说似乎是一个解决方案。但我不太确定我是否了解那里发生的事情。这是文章中的示例://We'reusingjQueryfunctionstomakeourlivesloadseasier$('nava').click(function(e){url=$(this).attr("href");//Thisfunctionwouldgetcontentfromtheserverandinsertitintotheid="content"element$.g

web-applications - HTML5 Pushstate SEO

当谷歌在请求的URL中发现哈希符号(#)时,它会使用*?_escaped_fragment_*,但在我的新应用程序中,我使用的是HTML5PushState,所以我不再使用哈希符号了,谷歌如何知道如何路由到*/?_escaped_fragment_=blogs*而不是/blogs如果它不包含hashbang(#)。是依赖robot.txt还是sitemap.xml?我知道Google路由到不同的url,然后返回HTML快照。是否有任何库(更喜欢Node.js或PHP)来生成一个?也许是教程?一整天都在查看Google开发者文档,但就是想不通。 最佳答案