Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
如何拥有不覆盖URL的链接_Url_Backbone.js - Fatal编程技术网

如何拥有不覆盖URL的链接

如何拥有不覆盖URL的链接,url,backbone.js,Url,Backbone.js,我有一个链接,我通常会有href=“#”。我希望url在单击时保持不变,但它似乎复制并粘贴链接到url,无论它是什么。我甚至把 浏览器的URL是“localhost:5000/javascript:alert('true') 如何让主干网避免复制和粘贴到broswers URL的链接这是一种“这是一种功能,而不是一个bug”类型的事情。主干网这样做是有意的,至少有两个原因: 它提供了一个URL,用户可以复制/粘贴、相互发送电子邮件等,并且仍然可以将他们带到站点中的正确位置;如果没有这样的URL

我有一个链接,我通常会有href=“#”。我希望url在单击时保持不变,但它似乎复制并粘贴链接到url,无论它是什么。我甚至把
浏览器的URL是“localhost:5000/javascript:alert('true')

如何让主干网避免复制和粘贴到broswers URL的链接这是一种“这是一种功能,而不是一个bug”类型的事情。主干网这样做是有意的,至少有两个原因:

  • 它提供了一个URL,用户可以复制/粘贴、相互发送电子邮件等,并且仍然可以将他们带到站点中的正确位置;如果没有这样的URL操作,这是不可能的
  • 它允许基于浏览器的后退/前进功能(在尚不支持历史API的浏览器中)
  • 可能还有其他原因,但这就是我目前所能想到的。问题是,这就是主干路由器应该做的。使用它,然后想知道如何使它不操纵URL,这有点类似于在页面上使用
    ,问如何让用户编辑它的文本

    如果您不想使用该功能,请不要使用路由器;只需让您的视图相互调用即可。

    这是一种“这是一项功能,而不是一个bug”类型的东西。主干网这样做是出于(至少)两个原因:

  • 它提供了一个URL,用户可以复制/粘贴、相互发送电子邮件等,并且仍然可以将他们带到站点中的正确位置;如果没有这样的URL操作,这是不可能的
  • 它允许基于浏览器的后退/前进功能(在尚不支持历史API的浏览器中)
  • 可能还有其他原因,但这就是我目前所能想到的。问题是,这就是主干路由器应该做的。使用它,然后想知道如何使它不操纵URL,这有点类似于在页面上使用
    ,问如何让用户编辑它的文本


    如果你不想要这个功能,就不要使用路由器;让你的视图互相调用。

    问题是我有一个锚定标签被用作按钮。我确实使用路由器在视图之间切换,我喜欢这个功能,但我不希望我的url总是35;如果用户点击一个按钮,就返回false from该按钮的事件处理程序;这将使jQuery调用
    e.preventDefault()
    ,这将阻止您的按钮/链接更改URL。另外,为了完整性,我应该注意,您可以使用
    Backbone.history.start({pushState:true})
    为了避免在某些浏览器中使用哈希,但只使用支持哈希的历史API。我最终只是切换到了一个新的浏览器。这需要一些额外的css/js来完成,但它确实做到了。问题是,我有一个锚定标记被用作按钮。我确实使用路由器在视图之间切换,我喜欢这个功能,但我不希望我的url总是保持不变是#如果用户单击某个按钮,则必须从该按钮的事件处理程序返回false;这将使jQuery调用
    e.preventDefault()
    ,这将阻止您的按钮/链接更改URL。另外,为了完整性,我应该注意,您可以使用
    Backbone.history.start({pushState:true})
    为了避免在某些浏览器中使用散列,但只使用支持散列的历史API。我最后只是切换到了一个。这需要一些额外的css/js来完成,但它做了一些技巧,然后在你的锚点上不包括
    href
    属性:
    链接
    我猜OP是这样做的,因为浏览器没有un-
    href
    ed
    标记的样式与它们设置
    标记的样式相同。但您完全正确:它们可以这样做,并用CSS解决样式问题(如果它们不想使用
    返回false
    /
    e.preventDefault
    解决方案,如我所建议的)。然后不要在你的锚点上包含
    href
    属性:
    链接
    我猜OP会这样做,因为浏览器不会像设置
    标签那样设置uncode>href
    ed
    标签的样式。但是你绝对正确:他们可以这样做,并用CSS解决样式设置问题(如果他们不想使用我建议的
    返回false
    /
    e.preventDefault
    解决方案)。