簡體   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