问题标签 [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.

0 投票
0 回答
94 浏览

url - 在 url 中使用 hashbang (#!)

可能重复:
Facebook 和新 Twitter URL 中的 shebang/hashbang (#!) 是什么?

什么是 hashbang,hashbang 在超链接中的用途是什么?

0 投票
1 回答
1710 浏览

javascript - 在哈希/ URL 片段中有空间安全吗?

我正在编写一个 Javascript 驱动的单页应用程序,其中 URL 包含 # 参数,例如。( example.com/#foo/bar) 来表示应用程序状态(我考虑过使用各种 JS 框架,但由于各种原因不能)。

有时,哈希中可能有一个空格(或多个空格)。例如。example.com/#foo/bar bar2.

  1. 这安全吗?
  2. 散列部分是否还有其他不应使用的字符?

这个问题解决了 URL 部分中的空格问题,并建议转义空格。但是由于在 # 之后更改片段不会导致新的 HTTP 请求,这些规则适用吗?

0 投票
0 回答
480 浏览

url - Facebook 分享者从 HTML 元素的内容中获取标题

我正在开发一个带有多个 Facebook“分享”按钮的单页网站。主要网址是:

http://wishdesign.nl/fora/fb.sharer.htm(工作演示 URL)

Facebook 共享者 URL 将是:

http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwishdesign.nl%2Ffora%2ffb.sharer.htm

单击最后一个链接,您将看到共享标题是在元标记中设置的 Open Graph 标题“测试标题”。到目前为止,一切都很好。

但是页面上的每个部分都有一个按钮,该按钮通过一个带有井号的 URL 共享该特定部分,如下所示:

http://wishdesign.nl/fora/fb.sharer.htm#section-b

Facebook 分享 URL 将变为:

http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwishdesign.nl%2Ffora%2ffb.sharer.htm%23section-b

添加“#section-b”有助于将访问者自动重定向到页面上的正确部分,但是...... Facebook 也使用该部分的内容作为共享标题!当该部分有相当多的内容时,标题会很长。

有什么办法可以影响这个吗?我在 ID 为“section-b”的 HTML 元素上尝试了设置标题、og:title 和 property:og:title 属性,但似乎不起作用。

有人有线索吗?提前致谢!

0 投票
1 回答
263 浏览

ajax - 我可以使用 hashbang (#!) URL 向 ajax 驱动的网站添加自定义标题吗?

我正在使用 ajax 驱动的 WordPress 主题,它具有像 www.example.com/#!/page 这样的 hashbang URL。我想知道由于 SEO,我可以为每个页面添加自定义标题和描述吗?该站点尚未编入索引,因此我看不到 Google 如何查看带有 hashbang URL 的页面,但我认为它的标题与主页相同?顺便说一句,该网站是 www.jsomedia.com

谢谢。

0 投票
3 回答
694 浏览

javascript - 历史.js + 谷歌

让我们谈谈google的AJAX爬虫:

由于history.js是丑陋的hashbang url 的一个很好的替代品,我想知道一个特定的问题:对于 HTML5 浏览器,如果加载了 ajax-content 并且应该由 google 索引,则会创建漂亮的 url。对于非 HTML5 浏览器(例如 IE 9 不支持 history.pushState),使用旧的 hashbang。

那么google看到的是哪个版本呢?谷歌看到重复内容是否有任何风险(一次是漂亮的 url,一次是 hashbang)?

感谢您对此的任何想法。

0 投票
2 回答
791 浏览

internet-explorer - hashbangs 是不是一个坏主意,即使它们被用作 facebook 分享的后备

在骨干网中,hashbang 已从代码中删除,标准回退到“#/path”,这对于爬行应该没问题(参见https://github.com/documentcloud/backbone/commit/10230e4d76e21f08a1dee1fe5d28994e2cf5f11d#commitcomment-477992

但是如果一个 ie9 用户想要做一个 facebook 分享(复制粘贴 url),我仍然需要一个 _escaped_fragment_ 处理程序,在那里我可以做一个规范的 url 或重定向以干净的方式处理它,但是“#!” 后备仍然是必要的,对吧?

0 投票
1 回答
1519 浏览

.htaccess - Backbone.js PushState 路由 .htaccess 仅作为散列工作,但无处可去

例如,我有一个网站 domain.com。我有带有 pushstate 和 fallback 的backbone.js,当我转到 domain.com/about 时,它会加载 index.html 页面并将 pushstates 设置为 about。一切正常。但是,如果我想转到一个目录,其中有一个页面,例如:www.domain.com/bio/moreinfo,它不起作用并抛出一个无效页面。如果我在 IE 中做它工作正常。我的 htaccess 文件有以下内容:

如果我直接导​​航到 domain.com/bio/moreinfo 页面,它就会出错(我认为是因为我的服务器想要转到 bio 目录?或者我可能需要以不同的方式实际控制主干中的路由?它只是在 bangs 上工作所以它必须是一些奇怪的推送状态目录的东西,其中 #bio/info 与 apache 不一样 /bio/info 。感谢任何帮助。

0 投票
2 回答
3898 浏览

ember.js - 使用 Ember.js 的 Hashbang URL

我正在尝试设置我Router使用“hashbang”网址(#!)。

我试过这个,但显然它不起作用:

这可以在 Ember 中完成吗?

0 投票
2 回答
3903 浏览

asp.net-mvc - AngularJS $routeProvider 和 ASP.NET MVC 中的相对 URL

我对 AngularJS 完全陌生。只是想尝试使用 $routeProvider 的相对 URL。

这是场景:

我有一个“编辑”页面,该页面的 ASP.NET MVC 链接是:

所以 ASP.NET MVC 控制器是“WorkflowController”,动作是“编辑”。对于 Partials,我有 Controller 操作,每个操作都返回一个 Partial View,如下所示:

以下是 AngularJS 模块配置 - 注意:为每个路由调用 PartialView(如上所述)(这可能不正确):

注意:我没有指定以下任何一项:

$locationProvider.html5Mode(false);

或者

$locationProvider.html5Mode(false).hashPrefix('!');

href 链接是这样指定的:

这会生成这种形式的链接:

这显然是错误的(并且单击链接可能没有任何作用,可能是因为浏览器试图导航到哈希),所以我尝试了前导 '/',但也没有运气:

如果我直接导​​航部分 ie http://localhost/Workflow/WorkflowTransition,浏览器会按原样呈现 html(以及 angularjs 花括号 {{}})。

我的问题是:AngularJS 如何处理 '#' 或 '#!' 在确定相对 URL 时?例如,这条路线是否可行(假设我从锚标记中的 URL 中删除了 /Edit 部分):

$routeProvider.when('Workflow/WorkflowTransition',匹配网址:

http://localhost/Workflow/#WorkflowTransition?

它是否从 URL 中删除了“#”,然后根据 $routeProvider.when() 中的 URL 模式对其进行检查?

有人可以为相对 URL 建议正确的路线吗?

0 投票
3 回答
521 浏览

bash - 脚本的替代解释器

我有一个在两台计算机上运行的脚本。代码的第一行如下所示:

在第二台计算机上,我想使用存储在$HOME/bin/gnuplot.

$HOME/bin包含在第二台计算机的$PATH变量中,因此我尝试使用对 GNUplot 的通用调用来启动脚本:

但这不起作用,因为脚本随后搜索了./gnuplot.

有没有办法使两台计算机的标题行相同?我希望解决方案以某种方式包含在这一行中,而不需要脚本来区分计算机或让我告诉它它在哪台计算机上。