Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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 使用jQuery附加YouTube视频嵌入?_Javascript_Jquery_Youtube_Append_Src - Fatal编程技术网

Javascript 使用jQuery附加YouTube视频嵌入?

Javascript 使用jQuery附加YouTube视频嵌入?,javascript,jquery,youtube,append,src,Javascript,Jquery,Youtube,Append,Src,我需要将“&rel=0”添加到来自YouTube嵌入代码的end SRC标记的末尾。“xCODE需要转到这里”的正确位置是我需要放置&rel=0的位置。有没有办法使用jQuery的Append函数来实现这一点 <embed src="http://www.youtube.com/v/S6I6Fc5mJeE&hl=en_US&fs=1xCODE NEEDS TO GO HEREx" type="application/x-shockwave-flash" allowscrip

我需要将“&rel=0”添加到来自YouTube嵌入代码的end SRC标记的末尾。“xCODE需要转到这里”的正确位置是我需要放置&rel=0的位置。有没有办法使用jQuery的Append函数来实现这一点

<embed src="http://www.youtube.com/v/S6I6Fc5mJeE&hl=en_US&fs=1xCODE NEEDS TO GO HEREx" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="284" height="171"></embed>

我需要这个功能,因为我们的网站上有几个视频,要找到正确的数据库表并修改它来纠正这一点很痛苦

请帮忙

亚当

试试这个:

 var __mainDiv;
 var __preLoaderHTML;
 var __opts;

 function __jQueryYouTubeChannelReceiveData(data) {

     var cnt = 0;

     $.each(data.feed.entry, function(i, e) {
         if (cnt < __opts.numberToDisplay) {
             var parts = e.id.$t.split('/');
             var videoId = parts[parts.length-1];
             var out = '<div class="video"><a href="' + 
                  e.link[0].href + '"><img src="http://i.ytimg.com/vi/' + 
                  videoId + '/2.jpg"/></a><br /><a href="' + 
                  e.link[0].href + '">' + e.title.$t + '</a><p>';
             if (!__opts.hideAuthor) {
                 out = out + 'Author: ' + e.author[0].name.$t + '';
             }
             out = out + '</p></div>';
             __mainDiv.append(out);
             cnt = cnt + 1;
         }
     });

    // Open in new tab?
    if (__opts.linksInNewWindow) {
        $(__mainDiv).find("li > a").attr("target", "_blank");
    }

    // Remove the preloader and show the content
    $(__preLoaderHTML).remove();
    __mainDiv.show();
}

(function($) {
    $.fn.youTubeChannel = function(options) {
        var videoDiv = $(this);

        $.fn.youTubeChannel.defaults = {
            userName: null,
            channel: "favorites", //options are favorites or uploads
            loadingText: "Loading...",
            numberToDisplay: 3,
            linksInNewWindow: true,
            hideAuthor: false
        }

        __opts = $.extend({}, $.fn.youTubeChannel.defaults, options);

        return this.each(function() {
            if (__opts.userName != null) {
                videoDiv.append("<div id=\"channel_div\"></div>");
                __mainDiv = $("#channel_div");
                __mainDiv.hide();

                __preLoaderHTML = $("<p class=\"loader\">" + 
                    __opts.loadingText + "</p>");
                videoDiv.append(__preLoaderHTML);

                // TODO: Error handling!
                $.ajax({
                    url: "http://gdata.youtube.com/feeds/base/users/" + 
                        __opts.userName + "/" + __opts.channel + "?alt=json",
                    cache: true,
                    dataType: 'jsonp',                    
                    success: __jQueryYouTubeChannelReceiveData
                });
            }
        });
    };
})(jQuery);
var\uuu mainDiv;
var__tml;
变量选择;
函数uuu jqueryoutubechannelreceivedata(数据){
var-cnt=0;
$.each(data.feed.entry,函数(即){
如果(cnt<\u选择数字显示){
变量部分=e.id.$t.split('/');
var videoId=零件[零件长度-1];
var out='
'; 如果(!\u选择hideAuthor){ out=out+'Author:'+e.Author[0]。名称。$t+'; } out=out+'

'; __主分区附加(输出); cnt=cnt+1; } }); //是否在新选项卡中打开? 如果(_选择链接窗口){ $(u mainDiv).find(“li>a”).attr(“target”),“u blank”); } //移除预加载程序并显示内容 $(tml.remove(); __mainDiv.show(); } (函数($){ $.fn.youTubeChannel=函数(选项){ var videoDiv=$(本); $.fn.youTubeChannel.defaults={ 用户名:null, 频道:“收藏夹”//选项为收藏夹或上载 loadingText:“正在加载…”, 数字显示:3, 林克:没错, 希多索尔:错 } __opts=$.extend({},$.fn.youTubeChannel.defaults,options); 返回此值。每个(函数(){ 如果(_opts.userName!=null){ videoDiv.追加(“”); __mainDiv=$(“频道div”); __mainDiv.hide(); __PRELOERHTML=$(“

”+ __opts.loadingText+“

”; videoDiv.append(tml); //TODO:错误处理! $.ajax({ url:“http://gdata.youtube.com/feeds/base/users/" + __opts.userName+“/”+_opts.channel+“?alt=json”, 是的, 数据类型:“jsonp”, 成功:_ujqueryyoutubechannelreceivedata }); } }); }; })(jQuery);
要使用YouTube插件,只需向jQuery库和jQuery.YouTube.channel.js文件添加脚本引用。然后添加一个容器来保存呈现的HTML,一行JavaScript来连接所有内容,以及一些CSS来格式化输出:

<script type=”text/javascript” src=”jquery.youtube.channel.js”></script>

<div id="youtubevideos"></div>

<script type="text/javascript">
$(document).ready(function() {
$('#youtubevideos').youTubeChannel({
userName: 'diggerdanh',
channel: "favorites",
hideAuthor: false,
numberToDisplay: 6,
linksInNewWindow: true
//other options
//loadingText: "Loading...",
});
});
</script>

$(文档).ready(函数(){
$('youtubevideos')。youTubeChannel({
用户名:“diggerdanh”,
频道:“收藏夹”,
希多索尔:错,
数字显示:6,
林克:没错
//其他选择
//loadingText:“正在加载…”,
});
});

我会做一些类似于未经测试的jQuery语句的事情:

$("embed[src]").attr("src", this.attr("src") + "&rel=0");

有什么理由不能用普通的ol'jQuery实现这一点吗

$('embed[src^=http://www.youtube.com/]').attr('src', function (i, v)
{
    return v + '&rel=0';
});

似乎对我有用

那不是我想要的。如果你注意到&rel=0,这意味着我不想显示任何相关的视频。根据本讨论()我可以使用jQuery附加&rel=0吗?@Adam:再详细一点会很有用。那它不起作用呢?这似乎对我有用:@Adam:另外,就像我对Neil的答案发表评论一样,他的版本不起作用,因为
这个
不会引用正确的对象。我尝试了你的修复Matt,第一次就成功了。然后我将时间设置回视频结束前5秒,并将其全屏显示。然后播放了相关的视频。我认为在jQuery编辑src之前初始化插件可能有问题。