I investigated and fixed this problem. It even works with Locationbar2. ( now you can click encoded breadcrumbs that will load )
(may is not yet public [amo thing] try again in a few hours)
https://addons.mozilla.org/en-US/firefox/addon/265088/The
real problem is that the URL is "decoded" without calling to "encode" first. It's like a "decode twice".. never ever decode an URL twice!!.. never. really.
And always encode your parameters with encodeURIComponent.
Let's put the problematic example.
You have :
Code: Select all
http://www.example.net/Espa%C3%B1ol/?anurl=http%3A%2F%2Fwww.example.net%2FEspa%C3%B1ol%2F%3Fnada%3Dtrue%26acolor%3Dgotcha%26var2%3Dsome2&acolor=white
Here what we do is to send two parameters to example.net domain.
anurl : which is a very valid url.
acolor : which contains the value "white"
OK. Now let's decode this URL.
Code: Select all
http://www.example.net/Español/?anurl=http://www.example.net/Español/?nada=true&acolor=gotcha&var2=some2&acolor=white
Ok Now tell me the value of "acolor".. you can't right?
OK now let's encode again this URL.
Code: Select all
http://www.example.net/Espa%C3%B1ol/?anurl=http://www.example.net/Espa%C3%B1ol/?nada=true&acolor=gotcha&var2=some2&acolor=white
Oh wait. What happened to my anurl parameter...?
If you decode your URLs twice you will never be able to get the original URL. (unless you save the original URL somewhere)