javascript - Mailto 链接导航到不同的网址

标签 javascript jquery html email mailto

我正在使用 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/

相关文章:

javascript - 如何验证具有多个相同名称的动态添加输入?

java - 对任何正在进行的事件进行实时评论

javascript - 从 JavaScript 中的链接获取经度/纬度

jQuery Chosen 插件动态添加选项而不使用 Ajax?

javascript - JQuery 将调色板颜色应用于 html 页面中的任何内容

html - CSS 后代选择器不更新元素

html - 正文元素不在页面顶部

javascript - 如何通过模糊 Google Maps JavaScript API 使用自定义控件

javascript - 在不同的js block 中使用一个变量

javascript - 使用innerHTML (JS)插入选择元素