Javascript或浏览器以不同的方式设置位置
Javascript or the Browser sets the location differently
我有一个Angularjs应用程序,可以在表格中生成自动建议。表中的每个项目都有一个附加的URL(通过Angularjs模板)。如果我启动自动建议并用鼠标选择一个链接,它可以正常工作,转到像 domain.com/#/samples/sampleName.html
这样的 URL(我知道这在使用 Angular 方面有点奇怪,但相信我,这样做有奇怪的 SEO 原因——客户的原因,不是我的原因。
如果您单击链接(用鼠标)就可以了。如果您通过使用浏览器工具在页面源代码中检查链接来单击链接,则它工作正常。但是,这段 javascript 代码(允许某人使用箭头键浏览自动建议列表并按 Enter 键也应该转到该页面。
selectedURL = $('#autosuggest').children().attr('href');
alert('You selected ' + selectedURL);
location = selectedURL;
警报显示格式正确的 URL。但是,当设置位置时,我会得到这样的东西domain.com/#%2Fsamples%2FsampleName.html
当这种情况发生时,浏览器(正确地)什么也不做。为什么这两种方法(单击和设置位置对象)对 URL 的编码方式不同?
我不确定为什么其他方法(单击)有效。我猜你用不同的代码处理它们。不过,这样做应该可以解决问题:
location = decodeURIComponent(selectedURL);
相关文章:
- angularjs路线过渡如何以交互方式设置动画
- 使用JQuery以不同的方式设置每个
- 样式
- Javascript或浏览器以不同的方式设置位置
- 离子/角度日期输入使用时刻以编程方式设置
- 以安全的方式设置nodeJS Transform流的编码
- UIWebView - 以编程方式设置默认日期
- 我如何在 jQuery 中以编程方式设置输入文本框的值
- 尝试以编程方式设置焦点不适用于 Firefox
- 如何以图像居中的方式设置网站的位置
- Sitecore SPEAK UI 以编程方式设置组合框的选定项
- Select2 以编程方式设置搜索词并打开包含相关结果的下拉列表(无 ajax 调用)
- 在 JavaScript 中以编程方式设置构造函数参数
- 如何以不同的方式设置每行/行的每个最后一个元素的样式
- 如何以正确的方式设置选择标签以具有“5”的大小
- 如何使用 JavaScript 以编程方式设置 input:focus 样式
- 以编程方式设置渐变
- SVG 动画在以编程方式设置样式时有效,但在仅使用样式表时无效
- 如何以编程方式设置 chrome 和 Firefox 的主页
- 以编程方式设置 jqGrid 列中编辑选项的“只读”属性
- 在 C# 中以编程方式设置和获取浏览器窗口坐标值 (x,y)