Javascript, используя конструктор сайтов Wix - PullRequest
0 голосов
/ 25 июня 2018

При использовании некоторого кода для получения URL-адреса изображения я столкнулся с некоторыми проблемами, код говорит: url.match is not a function.

Любая помощь будет отличной!

function youtube(url = $w('#input1')) {


        var regExp = /.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/;

        var match = url.match(regExp);

        if (match && match[1].length === 11) {
            let urllink = match[1];
            let imagelink = "http:\/\/img.youtube.com\/vi\/" + urllink + "\/hqdefault.jpg\"";

            console.log(imagelink);
        } else {
            //Nothing
        }

    }

Спасибо

1 Ответ

0 голосов
/ 25 июня 2018

Согласно документации wix , функция $w выбирает и возвращает элементы со страницы.

Если у вас есть вход на странице с идентификатором, установленным на input1 (вы пытаетесь выбрать его, вызывая $w('#input1')), тогда переменная url содержит дескриптор для ввода, а не значениевход.

Поэтому попробуйте получить значение из него (например, url = url.value, или просто url = $w('#input1').value), и после этого вызовите url.match(regExp);.

Отредактируйте свою функцию следующим образом:

function youtube(url = $w('#input1')) {
    var regExp = /.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/;

    url = url.value;
    var match = url.match(regExp);

    if (match && match[1].length === 11) {
        let urllink = match[1];
        let imagelink = "http:\/\/img.youtube.com\/vi\/" + urllink + "\/hqdefault.jpg\"";
        console.log(imagelink);
    } 
    else {
        //Nothing
    }
}
...