我有一个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进行不同的编码?
答案 0 :(得分:0)
我不确定为什么其他方法(点击)有效。我想你用不同的代码处理它们。不过,这样做应该可以解决问题:
let addSucceeded = false;
try{
Accounts.addEmail(user._id, newEmailAddress);
addSucceeded = true;
} catch(err) {}
console.log(addSucceeded);