LNK2019 не может использовать GetStagedPackageOrigin ()

Вот простая функция, использующая регулярное выражение, которое имитирует поведение тегов a.

Плюсы

  • предсказуемое поведение (без проблем с перекрестным браузером)
  • не нуждается в DOM
  • , это действительно коротко.

Минусы

  • Регулярное выражение немного трудно читать

-

function getLocation(href) {
    var match = href.match(/^(https?\:)\/\/(([^:\/?#]*)(?:\:([0-9]+))?)([\/]{0,1}[^?#]*)(\?[^#]*|)(#.*|)$/);
    return match && {
        href: href,
        protocol: match[1],
        host: match[2],
        hostname: match[3],
        port: match[4],
        pathname: match[5],
        search: match[6],
        hash: match[7]
    }
}

-

getLocation("http://example.com/");
/*
{
    "protocol": "http:",
    "host": "example.com",
    "hostname": "example.com",
    "port": undefined,
    "pathname": "/"
    "search": "",
    "hash": "",
}
*/

getLocation("http://example.com:3000/pathname/?search=test#hash");
/*
{
    "protocol": "http:",
    "host": "example.com:3000",
    "hostname": "example.com",
    "port": "3000",
    "pathname": "/pathname/",
    "search": "?search=test",
    "hash": "#hash"
}
*/

EDIT:

Вот разбивка регулярного выражения

var reURLInformation = new RegExp([
    '^(https?:)//', // protocol
    '(([^:/?#]*)(?::([0-9]+))?)', // host (hostname and port)
    '(/{0,1}[^?#]*)', // pathname
    '(\\?[^#]*|)', // search
    '(#.*|)$' // hash
].join(''));
var match = href.match(reURLInformation);
1
задан Bharath Suresh 17 January 2019 в 10:39
поделиться

1 ответ

Я использовал команду dumpbin в командной строке visual studio, и эта функция не экспортировалась из kernel32.dll. Функция не присутствовала в dll в первую очередь. Я думаю, именно поэтому произошла ошибка.

0
ответ дан Bharath Suresh 17 January 2019 в 10:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: