【问题标题】:join Javascript embed code加入Javascript嵌入代码
【发布时间】:2014-08-23 15:38:41
【问题描述】:

这是关于一个名为 Bloggertube 的 Blogger 模板 它最初编码为嵌入 youtube 视频并抓取 url 图片并发布图片缩略图

我还修改为使用 Dailymotion

但我是 Javascript 的新手,我正试图弄清楚如何创造条件以使它们同时工作,并在未来添加更多网站

函数createVideoThumb指缩略图创建

函数createVideoThumb2指的是播放器的嵌入代码

博主的帖子sintax是:

(youtube 链接)endofvid

[开始文本] (发文) [正文]

Youtube 代码:

function createVideoThumb(pID){
    var div = document.getElementById(pID);
    var summ = summary_noimg;
    if (div.innerHTML.indexOf("http://www.youtube.com/watch?v=")!=-1){
      var vidid = div.innerHTML.substring(div.innerHTML.indexOf("http://www.youtube.com/watch?v=")+31,div.innerHTML.indexOf("endofvid"));
    }else {var vidid =""};  
    var postlink = div.innerHTML.substring(div.innerHTML.indexOf("[postlink]")+10,div.innerHTML.indexOf("[/postlink]"));    
    if (vidid ==""){var imgvid ='<a href="'+ postlink + '"><img  class="thumbnail" src="http://i195.photobucket.com/albums/z105/dantearaujo/novideo.png" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></a>';
                   }else{
                     var imgvid ='<a href="'+ postlink + '"><img  class=thumbnail src="http://img.youtube.com/vi/'+vidid+'/mqdefault.jpg" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></a>';
                   };
    var summary = imgvid ;
    div.innerHTML = summary;
  }
  function createVideoThumb2(pID){
    var div = document.getElementById(pID);
    var imgtag = "";
    var summ = summary_noimg;
    if (div.innerHTML.indexOf("http://www.youtube.com/watch?v=")!=-1){
      var vidid = div.innerHTML.substring(div.innerHTML.indexOf("http://www.youtube.com/watch?v=")+31,div.innerHTML.indexOf("endofvid"));
    }else {var vidid =""};
    var textinside = div.innerHTML.substring(div.innerHTML.indexOf("[starttext]")+11,div.innerHTML.indexOf("[endtext]"));
    var postlink = div.innerHTML.substring(div.innerHTML.indexOf("[postlink]")+10,div.innerHTML.indexOf("[/postlink]"));
    var embedvid = "";
    if (vidid!="") {
      embedvid = '<object width="654" height="393"><param name="movie" value="http://www.youtube.com/v/'+ vidid + '&hl=en&fs=1&rel=0&autoplay=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'+ vidid + '&hl=en&fs=1&rel=0&autoplay=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="654" height="393"></embed></object>'
    }
    var summary =  embedvid + '<div class="content">' + textinside  + '</div>';
    div.innerHTML = summary;
  }

每日动态代码

function createVideoThumb(pID){
    var div = document.getElementById(pID);
    var summ = summary_noimg;
    if (div.innerHTML.indexOf("http://www.dailymotion.com/video/")!=-1){
      var vidid = div.innerHTML.substring(div.innerHTML.indexOf("http://www.dailymotion.com/video/")+33,div.innerHTML.indexOf("endofvid"));
    }else {var vidid =""};  
    var postlink = div.innerHTML.substring(div.innerHTML.indexOf("[postlink]")+10,div.innerHTML.indexOf("[/postlink]"));    
    if (vidid ==""){var imgvid ='<a href="'+ postlink + '"><img  class="thumbnail" src="http://i195.photobucket.com/albums/z105/dantearaujo/novideo.png" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></a>';
                   }else{
                     var imgvid ='<a href="'+ postlink + '"><img  class=thumbnail src=" http://www.dailymotion.com/thumbnail/video/'+vidid+'" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></a>';
                   };
    var summary = imgvid ;
    div.innerHTML = summary;
  }
  function createVideoThumb2(pID){
    var div = document.getElementById(pID);
    var imgtag = "";
    var summ = summary_noimg;
    if (div.innerHTML.indexOf("http://www.dailymotion.com/video/")!=-1){
      var vidid = div.innerHTML.substring(div.innerHTML.indexOf("http://www.dailymotion.com/video/")+33,div.innerHTML.indexOf("endofvid"));
    }else {var vidid =""};
    var textinside = div.innerHTML.substring(div.innerHTML.indexOf("[starttext]")+11,div.innerHTML.indexOf("[endtext]"));
    var postlink = div.innerHTML.substring(div.innerHTML.indexOf("[postlink]")+10,div.innerHTML.indexOf("[/postlink]"));
    var embedvid = "";
    if (vidid!="") {
      embedvid = '<iframe frameborder="0" width="654" height="393" src="//www.dailymotion.com/embed/video/'+ vidid +'" allowfullscreen></iframe>'
    }
    var summary =  embedvid + '<div class="content">' + textinside  + '</div>';
    div.innerHTML = summary;
  }

【问题讨论】:

    标签: javascript blogger


    【解决方案1】:

    我想我明白你的问题出在哪里。解决方案是只有 2 个函数:createVideoThumb 和 createVideoThumb2。在函数的开头,检查内部 html 包含的内容。例如:

    function createVideoThumb2(pID){
    
        // Dailymotion
        if (div.innerHTML.indexOf("http://www.dailymotion.com/video/")!=-1){
    
            // Set specific local vars here
    
        }
        // Youtube
        else if(div.innerHTML.indexOf("http://www.youtube.com/watch?v=")!=-1) {
    
            // Set specific local vars here
    
        }
    
        // .... More providers
    
        // Use specific local vars in the code below (I didnt edit anything below)
    
        var div = document.getElementById(pID);
        var imgtag = "";
        var summ = summary_noimg;
        if (div.innerHTML.indexOf("http://www.dailymotion.com/video/")!=-1){
          var vidid = div.innerHTML.substring(div.innerHTML.indexOf("http://www.dailymotion.com/video/")+33,div.innerHTML.indexOf("endofvid"));
        }else {var vidid =""};
        var textinside = div.innerHTML.substring(div.innerHTML.indexOf("[starttext]")+11,div.innerHTML.indexOf("[endtext]"));
        var postlink = div.innerHTML.substring(div.innerHTML.indexOf("[postlink]")+10,div.innerHTML.indexOf("[/postlink]"));
        var embedvid = "";
        if (vidid!="") {
          embedvid = '<iframe frameborder="0" width="654" height="393" src="//www.dailymotion.com/embed/video/'+ vidid +'" allowfullscreen></iframe>'
        }
        var summary =  embedvid + '<div class="content">' + textinside  + '</div>';
        div.innerHTML = summary;
      }
    

    您可以对这两个函数执行此操作,然后在函数的其余部分使用 var。 Vars 应该像 iframeWidth、iframeHeight 等,无论您需要为每个提供者定制什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 2014-05-02
      • 2011-03-22
      • 2014-01-15
      • 1970-01-01
      相关资源
      最近更新 更多