Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从#锚点删除角度散列和前缀_Javascript_Angularjs - Fatal编程技术网

Javascript 从#锚点删除角度散列和前缀

Javascript 从#锚点删除角度散列和前缀,javascript,angularjs,Javascript,Angularjs,我挣扎着去做一个直接的锚链接到一个站点。当我尝试通过以下方式链接到id时: 其中#20841是我的锚标签。 Angular断开url并使其成为: 这在chrome和firefox中运行良好,但在internetexplorer和edge中它不起作用,因此它“破坏”了url。我试着把前缀改成“!”而不是“/” 有人对此问题有解决办法吗?如果您使用的是Angular 1.6,您可以通过将以下代码添加到配置中来删除此前缀: appModule.config(['$locationProvider',

我挣扎着去做一个直接的锚链接到一个站点。当我尝试通过以下方式链接到id时:
其中#20841是我的锚标签。 Angular断开url并使其成为:

这在chrome和firefox中运行良好,但在internetexplorer和edge中它不起作用,因此它“破坏”了url。我试着把前缀改成“!”而不是“/”


有人对此问题有解决办法吗?

如果您使用的是Angular 1.6,您可以通过将以下代码添加到配置中来删除此前缀:

appModule.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
  $locationProvider.html5Mode(true);
}]);
请注意,这可能是由于HTML5的兼容性


有关更多信息,请参阅。

从angular 1.5开始,默认情况下使用$locationProvider.html5Mode(真/假);尝试设置$locationProvider.html5Mode(true);在internet explorer 9中破坏了一些动画等。它是如何破坏任何错误或问题的?是的,很抱歉没有详细说明,在internet explorer 9中,由于某种原因,它破坏了一些动画。这可能会使它更烦人,我无法使用1.6版,因此,添加这段代码只会给我带来角度路由的初始问题,因此如果执行此$locationProvider.hashPrefix(“!”),哈希将变为#/20841i;我的锚变成了##20841如果我这样做$locationProvider.hashPrefix(“”);它返回到默认值,锚点变为#/20841对不起,我不明白,我想删除#!所以我只有一个有效的锚。所以#20481变为#20481Ok,因此也添加这一行
$locationProvider.html5Mode(true)。我已经更新了我的答案。正如我在上面的评论中所说的,我可以运行HTML5模式,因为它破坏了internet explorer 9中的一些动画