首页 > 解决方案 > 使用 Wix 网站构建器的 Javascript

问题描述

在使用一些代码获取图片网址时,我遇到了一些问题,代码在说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
        }

    }

谢谢

标签: javascriptvelo

解决方案


根据wix文档,$w函数从页面中选择并返回元素。

如果您在页面上有一个 id 设置为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
    }
}

推荐阅读