Javascript 使用 Wix 建站工具

Javascript using Wix website builder

在使用一些代码获取图像 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
        }

    }

谢谢

根据 wix 文档,$w 函数 selects 和 returns 页面中的元素。

如果您在页面上有一个 ID 设置为 input1 的输入(您正在尝试通过调用 $w('#input1') 来 select 它),则变量 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
    }
}