Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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 AngularJS::HTML5模式+;正常链接行为_Javascript_Angularjs_Pushstate - Fatal编程技术网

Javascript AngularJS::HTML5模式+;正常链接行为

Javascript AngularJS::HTML5模式+;正常链接行为,javascript,angularjs,pushstate,Javascript,Angularjs,Pushstate,我对angular很陌生,目前在一个网站上面临一个问题,我们需要html5Mode(true),同时保持正常链接的工作方式,就像使用html5Mode(false)一样 我们在html标签中有我们的ng应用程序,所以整个页面由一个模块控制。在某些页面上,我们需要通过ajax加载新内容,并更改特定控制器中的底层模型。这会将URL更改为新的(绝对)URL。通过$locationProvider.html5Mode(true)实现这一点有点简单;在模块配置中 现在的问题是:当我们激活HTML5模式时,

我对angular很陌生,目前在一个网站上面临一个问题,我们需要html5Mode(true),同时保持正常链接的工作方式,就像使用html5Mode(false)一样

我们在html标签中有我们的ng应用程序,所以整个页面由一个模块控制。在某些页面上,我们需要通过ajax加载新内容,并更改特定控制器中的底层模型。这会将URL更改为新的(绝对)URL。通过$locationProvider.html5Mode(true)实现这一点有点简单;在模块配置中

现在的问题是:当我们激活HTML5模式时,普通链接将不再像预期的那样工作。有没有办法在不将页面分割成多个模块的情况下实现所需的行为,从而将“正常链接”排除在模块的角度和HTML5模式设置的范围之外

我的想法是在控制器函数中简单地使用history.pushState(),它处理内容重新加载的单击事件,但这一方面会引发很多异常,另一方面甚至不能正常工作

非常感谢您的任何想法:-)


致以最良好的祝愿,SubnetOne

我终于找到了解决方案:

Module.directive('a', function () {
    return {
        restrict: 'E',
        link: function(scope, element, attrs) {
            element.attr("target", "_self");
        }
    };
});
这会将target=“\u self”广告到页面上的所有链接(锚定标签)。由于angulars劫持链接取决于

!elm.attr('target') = true
与目标的链接的行为将与预期的一致

多亏了Niks的回答 塞巴斯蒂安回答了这个问题
我最终解决了这个问题:-)

最后我找到了解决方案:

Module.directive('a', function () {
    return {
        restrict: 'E',
        link: function(scope, element, attrs) {
            element.attr("target", "_self");
        }
    };
});
这会将target=“\u self”广告到页面上的所有链接(锚定标签)。由于angulars劫持链接取决于

!elm.attr('target') = true
与目标的链接的行为将与预期的一致

多亏了Niks的回答 塞巴斯蒂安回答了这个问题
我终于解决了这个问题:-)

你是个救生员!你是个救生员!