我正在使用 MVC 5,当我尝试单击 <a href="mailto:some@email.com"></a>
时所有浏览器都尝试导航 www.website.com/some/route/id/mailto:some@email.com
.
我不理解这种行为,也找不到有关遇到此问题的人的任何信息。
HTML:
<section>
<ul>
<li>
<a href="mailto:some@email.com">
<div class="social-icon mailto"></div>
</a>
</li>
</ul>
</section>
也许这会造成干扰:
app.click_handler = function (e) {
if (!GLOBALS.SUPPORT.PUSH_STATE)
return true;
var url = $(this).attr('href'),
title = $(this).attr('title');
if (url.match(/:\/\//)) {
return true;
}
if (url === '#') {
return false;
}
e.preventDefault();
GLOBALS.VALUES.CURRENT_ELEMENT = $(this);
History.pushState({}, title, url);
};
$(document).on('click', 'a', app.click_handler);
最佳答案
该代码似乎会干扰链接,但允许其中包含 ://
或只是 #
的链接。
所以你也可以添加另一张支票
if (url.match(/^mailto:/)){
return true;
}
所以就变成了
app.click_handler = function (e) {
if (!GLOBALS.SUPPORT.PUSH_STATE)
return true;
var url = $(this).attr('href'),
title = $(this).attr('title');
if (url.match(/:\/\//)) {
return true;
}
if (url.match(/^mailto:/)) {
return true;
}
if (url === '#') {
return false;
}
e.preventDefault();
GLOBALS.VALUES.CURRENT_ELEMENT = $(this);
History.pushState({}, title, url);
};
$(document).on('click', 'a', app.click_handler);
关于javascript - Mailto 链接导航到不同的网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975390/