繁体   English   中英

Mailto链接导航到其他URL

[英]Mailto link is navigating to different url

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM