4

共享链接时,我注意到linkedIn 附加了一个“#!” 重定向后到 URL 的末尾。这破坏了我的 Backbone.js 单页应用程序,因为我们在 URL 中使用了 pushstate,因此使用了“!” 被解释为 Backbone.js 路由。

这是一个示例链接(不是我的网站)。它会带你到: http ://blog.mindresearch.net/blog/bid/336633/The-Connection-Between-Math-and-Neuroscience# !

我知道我可以在服务器端过滤它,或者在客户端以多种方式处理它,但这看起来很奇怪,我在网上没有看到关于这个主题的帖子,所以我想我会发布一个问题它是什么,是否有办法摆脱它?

当然,我也会向 LinkedIn 支持发送电子邮件,但我认为这对遇到同样问题的其他人可能有用。

4

1 回答 1

2

哈希后的任何内容都不会发送到服务器;我使用一个简单的客户端脚本来重定向这些 URL。一个天真的重定向,但它有效。除非 LinkedIn 和 Facebook 更改其传出重定向策略,否则我看不到任何阻止它发生的方法。

<script>
  if( window.location.hash == '#!' ) {
    window.location.href = 'http://domain.tld/';
  }
</script>

当然它只适用于启用 JavaScript 的客户端,但根据我的经验,这些 hashbang URL 只会破坏这些客户端。

于 2013-09-26T15:03:46.570 回答