2
採取URL地址www.somesite.com/@user1
不一致window.history.pushState URI編碼
如果我點擊包含鏈接,則@
的百分比在地址欄編碼到%40
一個良好的老式<a href...
超鏈接。
如果我使用HTML5的window.history.pushstate("object or string", "Title", 'www.somesite.com/@user1')
的@
是不 endocded - 它,而不是顯示爲一個「@」字符。
這種不一致性困擾着我。可能有辦法讓行爲一致嗎?
我已經考慮encodeURIComponent('www.somesite.com/@user1')
爲pushstate網址,但這也編碼'/',我希望是<a href...
超鏈接不編碼'@'符號。
如果您需要href版本,請使用它。我的意思是,如果網址來自錨點,那麼抓取a.href將被解析,而a.getrAttribute(「href」)將是原始未編碼文本。你也可以document.createElement()一個新的A標籤,設置它的.href,然後讀取它的.href;結果會神奇地成爲有效和絕對的。 – dandavis