相关疑难解决方法(0)

什么是Facebook中的shebang/hashbang(#!)和新的Twitter URL?

我刚才注意到,我们习惯使用的漫长而复杂的Facebook网址现在看起来像这样:

http://www.facebook.com/example.profile#!/pages/Another-Page/123456789012345

据我所知,今年早些时候它只是一个普通的URL片段式字符串(以...开头#),没有感叹号.但现在它是一个shebang或hashbang(#!),我以前只在shell脚本和Perl脚本中看到过.

新的Twitter的网址,现在还采用了#!符号.例如,Twitter个人资料网址现在看起来像这样:

http://twitter.com/#!/BoltClock

#!现在是否在URL中起了一些特殊的作用,比如某个Ajax框架或某些东西,因为新的Facebook和Twitter界面现在基本上是Ajax化的?在我的URL中使用它会以任何方式使我的Web应用程序受益吗?

twitter url facebook fragment-identifier hashbang

743
推荐指数
6
解决办法
11万
查看次数

角度路线包含#!在网址而不是#

最近我注意到ngRoute在AngularJS应用程序中使用模块时,路由包含#!在URL中,之前就是#.

例如,www.webiste.com/#/login成为www.website.com/#!/login

我必须启用html5Mode并禁用requireBase使用代码整体删除基础,

$locationProvider.html5Mode({
       enabled: true,
       requireBase: false
});
Run Code Online (Sandbox Code Playgroud)

并且URL更改www.website.com/login工作正常,但具有误导性,而不是Angular SPA URL的样子.

如果我没有启用html5Mode,则URL被编码,我无法解决它.所以www.website.com/#/login变成www.website.com/#!/#%2Flogin(注意后者/被编码为%2F).

这是开发人员针对某些特定目的实施的更改吗?它有什么不同?我需要对应用程序进行哪些更改才能使其正常运行?难道我做错了什么?

Github问题:https://github.com/angular/angular.js/issues/15547

javascript angularjs single-page-application ngroute angularjs-ng-route

15
推荐指数
1
解决办法
3万
查看次数

如何在URL与任何路由不匹配时以及URL包含/#/使用ReactJS时显示404

这是我第一次使用ReactJS而不是我的项目,但我试图将任何不存在的路由重定向到我已经制作的404页面.当输入了不匹配的路由任何URL是我的404页,目前显示为预期除了从URL包含/#/.

例如,此网址将重定向到我的404页面:

http://localhost:8080/non-existent-url

但是这个URL只会加载我应用的默认路由(主页):

http://localhost:8080/#/non-existent-url

我不知道/#/它的用途是什么,看起来该应用程序将显示包含或不包含有效路线的页面.

剥离路线文件:

import React from "react";
import { Router, Route, IndexRoute, browserHistory, hashHistory, Redirect } from "react-router/es";
import willTransitionTo from "./routerTransition";
import App from "./App";
import DashboardContainer from "./components/Dashboard/DashboardContainer";
import DashboardAccountsOnly from "./components/Dashboard/DashboardAccountsOnly";
import NotFound from './components/NotFound';

const history = __HASH_HISTORY__ ? hashHistory : browserHistory;

class Auth extends React.Component {
    render() {return null; }
}

const routes = (
    <Route path="/" component={App} onEnter={willTransitionTo}>
        <IndexRoute component={DashboardContainer}/>
        <Route path="/auth/:data" component={Auth}/>
        <Route …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router

14
推荐指数
1
解决办法
1822
查看次数

AngularJS"#!" 在网址上

有人知道"#!" 手段.在网址上?

我一直工作直到那时出现,我的网址中总是有一个"#",并希望保持这种状态.目前路由不再工作,可能是因为这个网址更改.

它是商业项目的一部分,我不想改为html5Mode.

我试着用:

$locationProvider.hashPrefix("");
Run Code Online (Sandbox Code Playgroud)

即使以这种方式纠正URL,路由也存在问题

hash routing web angularjs

10
推荐指数
1
解决办法
1万
查看次数

更改浏览器URL和页面内容,无需重新加载和不使用片段

我很清楚在AJAX驱动的网页上使用URL片段跟踪状态的技术,但最近我注意到很多网站正在做类似但没有片段的事情.

例如,最新版本的Facebook中的图片浏览器以这种方式运行.左侧和右侧导航按钮是没有片段的简单链接,单击这些片段会更改浏览器URL而不执行整页加载.

另一个例子是GitHub的存储库浏览器,每个文件/文件夹都是一个简单的链接,可以在不重新加载或使用页面片段的情况下更改页面状态和浏览器URL.

任何人都可以解释,或指出我如何工作的解释?我已经做了一些搜索,但是有很多关于使用片段的内容,我找不到任何东西.

javascript ajax

5
推荐指数
1
解决办法
4539
查看次数