Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动添加wmode=&x201C;不透明”;首先嵌入jQuery?_Javascript_Jquery_Youtube_Embed - Fatal编程技术网

Javascript 自动添加wmode=&x201C;不透明”;首先嵌入jQuery?

Javascript 自动添加wmode=&x201C;不透明”;首先嵌入jQuery?,javascript,jquery,youtube,embed,Javascript,Jquery,Youtube,Embed,我使用以下脚本添加wmode=“不透明”以嵌入元素: jQuery("iframe[src], embed[src]").each(function () { jQuery(this).prop("src", jQuery(this).prop("src") + "?wmode=opaque"); }); 它工作正常,但在嵌入src的最后添加了wmode,如下所示: http://www.youtube.com/embed/example?fs=1&feature=oembed

我使用以下脚本添加wmode=“不透明”以嵌入元素:

jQuery("iframe[src], embed[src]").each(function () {
    jQuery(this).prop("src", jQuery(this).prop("src") + "?wmode=opaque");
});
它工作正常,但在嵌入src的最后添加了wmode,如下所示:

http://www.youtube.com/embed/example?fs=1&feature=oembed?wmode=opaque
http://www.youtube.com/embed/example?wmode=opaque?fs=1&feature=oembed
但这并不能使它起作用。我希望它更准确,因此它将wmode添加为嵌入链接后的第一个属性,因此无论我如何通过嵌入url,例如:

http://www.youtube.com/embed/example?fs=1&feature=oembed
脚本将使其如下所示:

http://www.youtube.com/embed/example?fs=1&feature=oembed?wmode=opaque
http://www.youtube.com/embed/example?wmode=opaque?fs=1&feature=oembed

有什么帮助吗?

我想你应该补偿这两件事,因为

http://www.youtube.com/embed/example?wmode=opaque?fs=1&feature=oembed
也是错误的,只有第一个参数应该有

因此,您可以尝试:

jQuery("iframe[src], embed[src]").each(function () {
    var url = jQuery(this).prop("src");
    if(url.search(/\?/) === -1) {
            jQuery(this).prop("src", url + "?wmode=opaque");
    } else {
            jQuery(this).prop("src", url + "&wmode=opaque");
    }
});
如果您希望代码更小,可以将if语句替换为:

 jQuery(this).prop("src", url + ((url.search(/\?/) === -1) ? url + "?wmode=opaque" : "&wmode=opaque"));
另外,我建议你看看(在我留下的链接中,或者在谷歌上搜索)

编辑

我不明白为什么一开始就需要它,而且我很确定您不明白查询参数是如何工作的。 但是,代码如下:

jQuery("iframe[src], embed[src]").each(function () {
    var url = jQuery(this).prop("src");
        if(url.search(/\?/) === -1) {
            jQuery(this).prop("src", url + "?wmode=opaque");
        } else {
            var splittedUrl = url.split("?");
            jQuery(this).prop("src", splittedUrl[0] + "?wmodeopaque&" + splittedUrl[1]);
        }
});

我认为你应该补偿这两件事,因为

http://www.youtube.com/embed/example?wmode=opaque?fs=1&feature=oembed
也是错误的,只有第一个参数应该有

因此,您可以尝试:

jQuery("iframe[src], embed[src]").each(function () {
    var url = jQuery(this).prop("src");
    if(url.search(/\?/) === -1) {
            jQuery(this).prop("src", url + "?wmode=opaque");
    } else {
            jQuery(this).prop("src", url + "&wmode=opaque");
    }
});
如果您希望代码更小,可以将if语句替换为:

 jQuery(this).prop("src", url + ((url.search(/\?/) === -1) ? url + "?wmode=opaque" : "&wmode=opaque"));
另外,我建议你看看(在我留下的链接中,或者在谷歌上搜索)

编辑

我不明白为什么一开始就需要它,而且我很确定您不明白查询参数是如何工作的。 但是,代码如下:

jQuery("iframe[src], embed[src]").each(function () {
    var url = jQuery(this).prop("src");
        if(url.search(/\?/) === -1) {
            jQuery(this).prop("src", url + "?wmode=opaque");
        } else {
            var splittedUrl = url.split("?");
            jQuery(this).prop("src", splittedUrl[0] + "?wmodeopaque&" + splittedUrl[1]);
        }
});

感谢您更正代码,我尝试了谷歌,但到目前为止什么都没有,我们可以搜索“?”的代码并在其后面添加“wmode=opaque&”吗?感谢您更正代码,我尝试了谷歌,但到目前为止什么都没有,我们可以搜索“?”的代码并在其后面添加“wmode=opaque&”吗?