Javascript或浏览器以不同方式设置位置

时间:2016-04-25 23:21:33

标签: javascript jquery angularjs

我有一个Angularjs应用程序,可以在表格中生成自动建议。表中的每个项目都附有一个URL(通过Angularjs模板)。如果我启动autosuggest并用鼠标选择一个链接,它可以正常运行到domain.com/#/samples/sampleName.html这样的网址(我知道这在使用Angular方面有点奇怪,但请相信我,有一些奇怪的SEO原因这样做是客户的原因,而不是我的原因。)

如果你点击链接(用鼠标)就可以了。如果您通过浏览器工具在页面源中检查链接来单击链接,它可以正常工作。但是,这段javascript代码(允许某人使用箭头键遍历autosuggest列表并点击 也会转到该页面。

selectedURL = $('#autosuggest').children().attr('href');
alert('You selected ' + selectedURL);
location = selectedURL;

警报显示正确形成的网址。但是,当设置位置时,我得到类似domain.com/#%2Fsamples%2FsampleName.html的内容,当发生这种情况时,浏览器(正确地说是这样)什么都不做。为什么这两种方法(单击和设置位置对象)对URL进行不同的编码?

1 个答案:

答案 0 :(得分:0)

我不确定为什么其他方法(点击)有效。我想你用不同的代码处理它们。不过,这样做应该可以解决问题:

let addSucceeded = false;

try{
    Accounts.addEmail(user._id, newEmailAddress);
    addSucceeded = true;
} catch(err) {}

console.log(addSucceeded);