问题标签 [hashbang]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
url - 我该如何使用#!而不仅仅是在 Durandal URL 中的 #?
默认情况下,使用 Durandal 路由器创建的 URL 的格式如下:
http://example.com/#/whiskey-tango-foxtrot
但是,我想使用 #! 出于 SEO 目的,因此 URL 如下所示:
http://example.com/#!/whiskey-tango-foxtrot
有关我的意思的更多信息,请参阅:https ://developers.google.com/webmasters/ajax-crawling/
知道如何使用 Durandal 完成此任务吗?
php - 无法让谷歌抓取 AJAX Hashbang 网站
我已经在一个项目上工作了一个多月,并且花了很长时间试图真正理解爬行 ajax 的来龙去脉。我建立了一个使用 .load() 和 '#!' 的网站 (我现在知道这是我的 sillt 但哦,好吧!)并且已经设置了 HTML 快照在什么时候生成?逃跑... 被要求。我已经向 Google 提交了一个站点地图,并阅读了他们的文档一千遍。
网站地址是http://renewmywindows.com/
如果我以谷歌的身份获取网站,它会为请求的页面返回正确的 html,但我在让谷歌抓取它时遇到了很多问题。
我有一种感觉,我只是忘记了做一件小事,这会让其余的事情都丢掉,但我一生都无法弄清楚它是什么......
任何帮助将不胜感激。
谢谢,
C
facebook - Facebook 规范 URL 与获取的 URL 不同
我正在使用 facebook 对象调试器测试我的网站(使用 AJAX 和!#): https ://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fstuff2.do% 2F%3F_escaped_fragment_%3Dt%3Dactivities%26c_id%3D31
当我输入我的 URL 进行调试时: http ://stuff2.do/?_escaped_fragment_=t=activities&c_id=31
锥形 URL 显示为http://stuff2.do/?_escaped_fragment_=t%3Dactivities%26c_id%3D0 缺少我最后一个参数的值 31
这会导致获取错误的页面。任何想法为什么会发生这种情况?
php - 为什么 Facebook 不使用 _escaped_fragment_ 而不是 #!在某些情况下?
我的页面中有由此激活的代码(我可以在标题的注释中输出它的值):
isset($_GET['_escaped_fragment_'])
我正在使用此工具查看“刮刀所见”的来源https://developers.facebook.com/tools/debug
我的网址中有#!
shebang。
尽管如此,我正在测试的网站之一会收到_escaped_fragment_
(在 URL 中使用的 Facebook 访问?_escaped_fragment_=
),而在另一个网站上却没有。
我认为它与页面上的内容(og metas)没有任何关系,因为它甚至在加载 URL 之前就#!
决定是否重写。?_escaped_fragment_=
有人可以启发我使此功能正常工作需要什么吗?
javascript - 为什么 Wordpress 插入“#!” 进入网址?
这是在 Wordpress 中创建页面时在我的 URL 中间添加 /#!/ 。我该如何摆脱这些垃圾?
apache - 如何使用 .htaccess 中的重写规则为 escaped_fragment 执行特定条件
我有这样的网址/#!/page1
,我将它们重定向为:
所以/#!/page1
读为/_escaped_fragment_=%2Fpage1
被重定向到/seo/page1.html
它工作得很好但是我想重定向/#!/
到/seo/index.html
实际重定向到的主页/seo/.html
我怎样才能做到这一点?谢谢
seo - 包含对带有 hashbang 的页面有害吗?
谷歌说这个元标签:
以下重要限制适用:
- 元标记只能出现在没有散列片段的页面中。
- 仅有的 ”!” 可能会出现在内容字段中。
- 元标记必须出现在文档的头部。
来源:https ://developers.google.com/webmasters/ajax-crawling/docs/specification?hl=fr-FR
我知道只有不包含 hashbang 但仍应提供快照的页面才需要它。但这通常只是主页。
假设我们有:
www.foo.com
www.foo.com/#!/jobs
第二个将被提取为:
www.foo.com?_escaped_fragment_=/jobs
只是因为hashbang。
但是根页面没有 hashbang,所以它需要在头部有这个特殊的元标记。
但是由于<head>
到目前为止我所有的单页应用程序都使用相同的,我想知道为所有其他包含 hashbang的页面保留元标记是否真的有害。
实际会发生什么?
seo - 为什么谷歌不索引页面内的链接
当我提交以下页面http://www.cru.do/issues/1/?contents进行索引时,我希望谷歌爬虫抓取元素内的所有链接
它们看起来都如下:<a href="http://www.cru.do/issues/1/?dom">Dominic Lord</a>
所以哈希url等应该没有问题,并且感谢History.js,不需要hashbangs
一切都很好,除了那些内部页面链接没有被谷歌索引
jquery - Backbone.js 路由而不更改 url
我正在将基于 Backbone.js 和 jQuery 的单页 Web 应用程序迁移到 Chrome 扩展程序。但是,无论是基于 hashbang 的路由器模式,pushState
还是基于 hashbang 的路由器模式,似乎都不能很好地适应扩展中的环境。我得出的结论是,我最好直接渲染用户交互的视图,window.location
完全绕过系统。但是,我不太确定如何在不更改对Router.navigate
数十个文件的调用的情况下实现这一点。
是否有一种可插入/模块化的方式来保留主干路由系统但绕过对 url 的任何更改?
facebook - Facebook 和其他热门服务中的 Hashbang 链接预览和爬取
目前流行的网站是否支持使用 hashbang 预览链接?
例如粘贴链接喜欢
到 Facebook 聊天消息。
(翻译为https://groups.google.com/forum/?_escaped_fragment_=topic/pigfi/cF6GzPfeuO8)
存在用于抓取 hashbang URL 的规范https://developers.google.com/webmasters/ajax-crawling/docs/getting-started
但是,我几乎没有发现哪些网站或流行服务目前支持抓取/预览这些哈希 bang URL(除了 GoogleBot?)