hashPrefix设置为“时,AngularJs抛出url以/#xxx结尾的错误&引用;:未捕获错误:[$location:ihshprfx]
我们的一些合作伙伴包括我们网站的链接,如 我们的应用程序正在使用hashPrefix设置为“时,AngularJs抛出url以/#xxx结尾的错误&引用;:未捕获错误:[$location:ihshprfx],angularjs,Angularjs,我们的一些合作伙伴包括我们网站的链接,如 我们的应用程序正在使用作为哈希前缀,因此Angular认为有问题并抛出错误,但这不是错误的URL 未捕获错误:[$location:ihshprfx]无效url”https://www.lapetitetranche.fr/#b4sqF,缺少哈希前缀“#!” 我只想忽略这个参数,只需加载与相同的页面。我该怎么做 谢谢不幸的是,你不能完全做你想做的事 唯一的解决方案是使用角度路由器的html5模式。 在这种情况下,您必须创建服务器路由,该路由将重定向到您的
作为哈希前缀,因此Angular认为有问题并抛出错误,但这不是错误的URL
未捕获错误:[$location:ihshprfx]无效url”https://www.lapetitetranche.fr/#b4sqF,缺少哈希前缀“#!”
我只想忽略这个参数,只需加载与相同的页面。我该怎么做
谢谢不幸的是,你不能完全做你想做的事 唯一的解决方案是使用角度路由器的html5模式。 在这种情况下,您必须创建服务器路由,该路由将重定向到您的主页 否则,如果您不想使用HTML5模式,您可以使用这个小技巧来防止角度行为
var hash = window.location.hash;
if(hash.indexOf('#/') == 0) {
window.location.hash = '';
}
编辑:(来自评论)
if(hash.indexOf(“#!”)<0&&
hash.indexOf('#')==0&&
hash.indexOf(‘?#’)<0&&
hash.indexOf(“?”)!=0&&
hash.indexOf(“#state”)<0{
window.location.hash='#!';
}
您可以通过在要使用哈希链接的
标记中使用target=“\u self”
绕过角度路由过程。Angular会将链接视为外部页面,但页面仍将加载在同一浏览器选项卡中。Ok,现在处理以下内容:if(hash.indexOf(“#!”)<0&&hash.indexOf(“#”)==0{window.location.hash=“#!”}我之前的评论使我们的facebook oAuth失败,现在处理以下内容:if(hash.indexOf(“#!”)<0&&hash.indexOf('#')==0&&hash.indexOf('?#')<0&&hash.indexOf('?')!=0&&hash.indexOf('#state')<0{链接来自外部网站
if(hash.indexOf('#!') < 0 &&
hash.indexOf('#') == 0 &&
hash.indexOf('?#') < 0 &&
hash.indexOf('?') != 0 &&
hash.indexOf('#state') < 0 ){
window.location.hash = '#!';
}