firefox - 主干导航在 Firefox 中触发两次

标签 firefox backbone.js url-routing

尝试使用 Backbone 的导航属性。

 this.navigate("week/" + companyName + "/" + employeeNo + "/" + weekEnd, { trigger: true, replace: false });

上面的代码执行一次。

它击中了这个:
routes: {
    "week/:companyName/:employeeNo/:weekEnd": "getWeek"
},

然后这个函数被命中两次:
getWeek: function (companyName, employeeNo, weekEnd) {
    console.log('getWeek:', companyName, employeeNo, weekEnd);
 }

它在 Firefox 中记录了两次,在 IE 和 Chrome 中仅记录了一次。

这里有什么问题?我最初甚至没有将 trigger 设置为 true,Firefox 忽略了它并仍然触发了 URL。

最佳答案

我最近遇到了类似的问题,Firefox 在 Backbone.navigate 之后做了两个服务器调用。就我而言,这是因为我们没有对字符串进行编码。您的公司名称是否有任何需要编码的字符?

你可以试试:

this.navigate("week/" + escape(companyName) + "/" + employeeNo + "/" + weekEnd, { trigger: true, replace: false });

关于firefox - 主干导航在 Firefox 中触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17727495/

相关文章:

css - img 标签仅在 FireFox 中不显示背景图像

firefox - 将 Firefox 插件安装到 Firefox OS Firefox 浏览器中

javascript - jointjs:svg 文本在落到纸上时被空白替换

javascript - 如何在 Node.js 和 AMD 中使用 Backbone 模型(浏览器上的 require.js)

javascript - Backbone.js 中的变量范围

php - Zend Framework 基于 URL 的翻译路径

ruby-on-rails - 如何根据标题重写 URL?

node.js - 如何使用 Webdriver 控制 Firefox 扩展的侧边栏

Django - 使用 {% url %} 生成的链接 - 如何使它们安全?

javascript - Chrome扩展能否动态添加JS文件到本地扩展目录?用户上传还是从网络保存?