【问题标题】:encodeURIComponent does not return encoded URIencodeURIComponent 不返回编码的 URI
【发布时间】:2021-10-16 11:38:24
【问题描述】:

我想创建一个小书签,将当前页面的 url 附加到另一个预定义的 url。

javascript:(function(){location.href='example.com/u='+encodeURIComponent(location.href)}());

但是,返回的 url 没有编码,但是当我尝试 encodeURIComponent(encodeURIComponent(location.href)) 时,它起作用了。我不明白为什么加倍 encodeURIComponent 会有所不同?

【问题讨论】:

    标签: javascript google-chrome url browser bookmarklet


    【解决方案1】:

    试试这个:

    var href = (a) => {return 'example.com/u='+encodeURIComponent(a)}
    

    并调用href 以获取编码的网址。

    var encoded_url = href(location.href)
    

    【讨论】:

    • 其实我不想把事情复杂化,只是想明白为什么我需要加倍'encodeURIComponent'才能让它工作。
    • 不确定,我的工作是单一的encodeURIComponent。您能否添加更多信息,您是如何创建书签的?
    • 我实际上正在使用这里提到的书签:youtube4kdownloader.com/en5/bookmarklet.html,并使用双 encodeURIComponent 来查看它们。当你以这种方式离开它时它会起作用,但当你删除一个 encodeURIComponent 时它就不起作用了。您可以在 YouTube 视频上使用该书签来了解我的意思。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多