我在 IE8 上遇到了一个非常奇怪的问题(并且仅在低于 8 的 IE 版本上)。问题出在 attr 绑定中,如果我输入编码的电子邮件字符串(使用 %26、%40 等),页面将不会在文本字段中呈现数据绑定(在以下情况下为“firstlast@domain.com”),相反,它将呈现为“mailto:first%26last%40domain.com”。
<a data-bind=" visible: Email.length > 0, text: 'firstlast@domain.com', attr:{ href: 'mailto:' + 'first%26last%40domain.com' }"></a>
奇怪的是,如果我使用非编码字符串,它会呈现得很好
<a data-bind=" visible: Email.length > 0, text: 'firstlast@domain.com', attr:{ href: 'mailto:' + 'first&last@domain.com' }"></a>
这两种方式都可以在 Firefox 和 Chrome 以及更高版本的 IE 上正常工作。