Javascript 自动添加wmode=&x201C;不透明”;首先嵌入jQuery?
我使用以下脚本添加wmode=“不透明”以嵌入元素: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
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&”吗?