【问题标题】:setting top.location.hash with %20 in firefox在 Firefox 中使用 %20 设置 top.location.hash
【发布时间】:2010-10-07 19:50:46
【问题描述】:

在 Firefox 中,使用这个 javascript:

top.location.hash = "#here%20are%20spaces";

将浏览器网址更改为:

http://mysite.com/#here are spaces

我希望 firefox 在浏览器 url 中将编码的空格显示为 %20。

  1. 这里发生了什么?为什么 Firefox 在我传递时没有将 url 设置为字符串?
  2. 如何强制 firefox 使用编码字符更新 url?

和...

如果我添加设置 url 为

top.location.hash = "#here%20are%20spaces%";

它有效(!?),尽管在末尾附加了一个额外的不需要的 %。我不确定这是错误还是功能。关于如何进行的想法或参考?

【问题讨论】:

    标签: javascript firefox hash swfaddress


    【解决方案1】:

    %20 被替换为空白空间(在 Firefox 3 中)只是为了便于阅读。你不应该担心它。

    【讨论】:

    • 对于永久链接的剪切和粘贴,这是个问题。
    • 为什么会这样,也许你可以解释一下你的问题到底是什么......如果你将这样一个有空格的 url 复制并粘贴到不同的浏览器中,它会自动解释为 %20。
    • 想要确保复制和粘贴不会出现换行符,我现在看到了。
    【解决方案2】:

    对于这个问题,它似乎仍然是一个活跃的Firefox Bug(尽管在 Ubuntu 中报告了 Firefox,但也出现在其他操作系统中)....

    【讨论】:

      【解决方案3】:

      Firefox 在地址栏中显示未编码的值,就像所有包含编码值的 URL 一样。尝试转到some url with special characters,然后将其剪切并粘贴到记事本/...

      您是否尝试过它是否仍然有效并且可以满足您的需求?

      【讨论】:

        【解决方案4】:

        这是一种安全预防措施。如果它不存在,则可以在地址栏中的 paypal.com 字符串中编码看起来就像“a”的字符。

        【讨论】:

          猜你喜欢
          • 2020-12-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-11
          • 1970-01-01
          • 1970-01-01
          • 2017-04-19
          相关资源
          最近更新 更多