请原谅我对HTML的了解不足
我正在尝试生成一个静态HTML页面,该页面在第三方应用程序中的嵌入式HTML浏览器组件中呈现。
在HTML Body中,我在页面中嵌入了URL链接。
<a href="https://mydomain.com.au/Web/Default.ashx?encrypt=x%2BNWTAVMqprD%2BZyFtf1tfBVfIfhqKJ3JCjMmiXiSJSUl6n4FzCuW8mwQfpNskdQEvqU7QiWMdR%2Bbu9y6%2BiO8eh41XwGJX9l5iCYZunTamhGdkkiR9CqVCrkStu%2BzAlhqcJYG6M0zztcActpm6iSn99gXDlw8z%2BHs8Q88N9fZyXdYpxspgl%2BAoGZe7hR3zOulJb1YhabyBbf%2BkfI0dq1YQpHn3SWig8HuWvBANXPrPHDqAOsnT1DtJQ%3D%3D" class="Action">Access Application</a>
请注意,上述网址为&#34; URLEncoded&#34;。具体来说,&#34; encrypt =&#34;之后的查询字符串加密,然后URLEncoded。
问题
第三方应用程序中嵌入的HTML浏览器组件呈现HTML并且所有内容都显示正常,除非它对URL字符串进行解码。
这会产生带有以下URI的超链接;
https://mydomain.com.au/Web/Default.ashx?encrypt=x+NWTAVMqprD+ZyFtf1tfBVfIfhqKJ3JCjMmiXiSJSUl6n4FzCuW8mwQfpNskdQEvqU7QiWMdR+bu9y6+iO8eh41XwGJX9l5iCYZunTamhGdkkiR9CqVCrkStu+zAlhqcJYG6M0zztcActpm6iSn99gXDlw8z+Hs8Q88N9fZyXdYpxspgl+AoGZe7hR3zOulJb1YhabyBbf+kfI0dq1YQpHn3SWig8HuWvBANXPrPHDqAOsnT1DtJQ==
注意现在存在的字符,如&#34; +&#34;和&#34; =&#34;这导致无法加载作为URL目标的应用程序。
有没有办法阻止浏览器(浏览器控件?)解码此URL字符串并保持其完整性?
我正在考虑我的头脑,我并不是真正理解这个建议的目的,而是会定义一个&#34;类型&#34;链接上的属性,如
<a type="application/x-www-form-urlencoded" href="xxx.com/ddddd" class="Action">Access Application</a>
有什么影响吗?
如何阻止浏览器控件解码此URL?
&lt;中的元标记头&gt; ???
提前致谢!
亲切的问候
亚伦
答案 0 :(得分:1)
我们不得不逃避%符号。
例如:将链接中的%2B更改为%252B(%25是%符号的转义码)。同样,将%3D更改为%253D具有相同的效果,并阻止客户端应用程序将%3D渲染为=符号。
我们无法阻止客户端应用程序解码&#39; URL完全但至少现在解码为正确的URL值