【问题标题】:React.js - how to navigate to other domain?React.js - 如何导航到其他域?
【发布时间】:2017-02-19 20:10:43
【问题描述】:

我正在开发编辑器,用户可以在其中设置指向另一个网站的链接,例如stackoverflow.com。如果用户将此 url 设置为 <a> 元素,然后单击此链接,他将导航到 http://myapp.com/stackoverflow.com 而不是 http://stackoverflow.com。我认为这是由元素的默认行为更改引起的。 我怎样才能使这个链接外部?如果用户从浏览器复制 url 并粘贴,他将粘贴 http://stackoverflow.com,因此一切正常。但万一他手动输入stackoverflow.com,什么都不会正常工作。 附:我还想让每个元素都具有target="_blank" 属性所以,我假设我无法以编程方式导航 有任何想法吗?

【问题讨论】:

    标签: reactjs navigation


    【解决方案1】:

    尝试将<a>href 属性设置为完整的url,而不仅仅是stackoverflow.com

    <a href="http://stackoverflow.com" />
    

    否则将被视为相对 url。

    添加检查以查看您的用户是否将 url 输入为 stackoverflow.com,如果输入,请将其更改为 http://stackoverflow.com,然后再设置 href 属性。

    没有收到有关程序化导航的其他问题,但如果您希望在新窗口/标签页中打开链接,请使用

    <a href="http://stackoverflow.com" target="_blank" />
    

    【讨论】:

    • 感谢您的回答。我会尝试实施你的建议。但是那些网站使用 https:// 而不是 http:// 的情况呢?有关系吗 ?关于其他问题:我的意思是我如何以编程方式打开带有目标 url 的新选项卡\窗口
    • 执行 (使用“https”)也应该有效。试试吧。要以编程方式导航到 url,您可以使用 window.open("h t t p s ://stackoverflow.com", "_blank");或者只是 window.open("h t t p s://stackoverflow.com"); -- 两者都将在新的浏览器窗口/选项卡中打开 url(必须在“https”中添加空格以防止 url 被转换为 cmets 中的 标签,在您的代码中删除它们,只需使用“https " 没有空格)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    • 2015-07-23
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    相关资源
    最近更新 更多