Questions tagged «pushstate»

13
S3静态网站托管将所有路径路由到Index.html
我正在使用S3托管将使用HTML5 pushStates的JavaScript应用。问题是,如果用户对任何URL加书签,它将无法解析为任何内容。我需要的是能够处理所有url请求并在我的S3存储桶中提供根index.html的功能,而不仅仅是进行完全重定向。然后我的javascript应用程序可以解析URL并提供适当的页面。 有没有办法告诉S3为所有URL请求提供index.html而不是进行重定向?这类似于通过提供单个index.html来设置apache来处理所有传入请求,例如本示例:https : //stackoverflow.com/a/10647521/1762614。我真的想避免只运行Web服务器来处理这些路由。从S3执行所有操作都非常有吸引力。

9
使用HTML5历史记录API的好教程(Pushstate?)
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 改善这个问题 我正在研究使用HTML5历史记录API解决与AJAX加载的内容的深层链接问题,但我正在努力下手。有谁知道任何好的资源吗? 我想使用此方法,因为这似乎是允许发送那些链接可能未打开JS的可能性的好方法。当使用JS的人向不使用JS的人发送链接时,许多解决方案都会失败。 我的初步研究似乎指向JS中的History API和pushState方法。 http://html5demos.com/history

13
如何通过history.pushState获得有关历史更改的通知?
因此,既然HTML5引入history.pushState了更改浏览器历史记录的方法,那么网站开始将其与Ajax结合使用,而不是更改URL的片段标识符。 可悲的是,这意味着这些呼叫无法再由来检测onhashchange。 我的问题是:是否有可靠的方法(黑客?;))来检测网站何时使用history.pushState?该规范未声明有关引发的事件的任何信息(至少我找不到任何东西)。 我试图创建一个Facade,并window.history用我自己的JavaScript对象替换了它,但是它根本没有任何效果。 进一步的说明:我正在开发一个Firefox插件,需要检测这些更改并采取相应措施。 我知道几天前有一个类似的问题,询问是否可以有效地侦听某些DOM事件,但我宁愿不依赖于此,因为可以出于许多不同的原因来生成这些事件。 更新: 这是一个jsfiddle(使用Firefox 4或Chrome 8),显示onpopstate在pushState调用时不会触发(或者我做错了吗?随时进行改进!)。 更新2: 另一个(侧面)问题是window.location使用时未更新pushState(但我认为我已经在此处阅读过此信息)。


8
“单页” JS网站和SEO
如今,有许多很酷的工具可用于创建功能强大的“单页” JavaScript网站。在我看来,这是通过让服务器充当API(仅此而已)和让客户端处理所有HTML生成内容来正确完成的。这种“模式”的问题是缺乏搜索引擎支持。我可以想到两种解决方案: 当用户进入网站时,让服务器完全按照客户端在导航时的方式呈现页面。因此,如果我http://example.com/my_path直接进入服务器,它将呈现与客户端/my_path通过pushState 呈现的事物相同的东西。 让服务器仅为搜索引擎机器人提供一个特殊的网站。如果普通用户访问http://example.com/my_path服务器,则应向他提供该网站的JavaScript重型版本。但是,如果Google漫游器访问,服务器应为其提供一些最小的HTML,其中包含我希望Google索引的内容。 第一种解决方案将在此处进一步讨论。我一直在一个网站上这样做,这不是一个很好的体验。它不是DRY,在我的情况下,我必须为客户端和服务器使用两个不同的模板引擎。 我想我已经看到了一些不错的Flash网站的第二种解决方案。与第一种方法相比,我更喜欢这种方法,并且在服务器上使用正确的工具可以轻松完成。 所以我真正想知道的是以下内容: 您能想到更好的解决方案吗? 第二种解决方案的缺点是什么?如果Google以某种方式发现我没有像普通用户一样为Google机器人提供完全相同的内容,那么我将在搜索结果中受到惩罚吗?

3
pushState和SEO
许多人一直在说,使用pushState而不是hashbang。 我不明白的是,如果不使用hashbang,您将如何对搜索引擎友好? 大概您的pushState内容是由客户端JavaScript代码生成的。 因此,场景是: 我在example.com。我的用户单击一个链接:href="example.com/blog" pushState捕获点击,更新URL,从某处获取JSON文件,并在内容区域中创建博客文章列表。 通过hashbangs,Google知道转到escaped_fragment URL以获得其静态内容。 使用pushState,Google看不到任何东西,因为它无法使用JavaScript代码加载JSON并随后创建模板。 我看到的唯一方法是在服务器端渲染模板,但这完全抵消了将应用程序层推送到客户端的好处。 那么,我是否正确,pushState根本不适合客户端应用程序进行SEO友好?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.