episode evaluation

give evaluation to episode

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

ستحتاج إلى تثبيت إضافة مثل Stylus لتثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتتمكن من تثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتثبيت هذا النمط.

(لدي بالفعل مثبت أنماط للمستخدم، دعني أقم بتثبيته!)

// ==UserScript==
// @name         episode evaluation
// @namespace    http://tampermonkey.net/
// @version      1.0.3
// @description  give evaluation to episode
// @author       xdy
// @include       /http:\/\/(bgm\.tv|bangumi\.tv|chii\.in)/ep/\d+$
// @grant        none
// ==/UserScript==

function addCSS(cssText){

 var style = document.createElement('style'), //创建一个style元素
  head = document.head || document.getElementsByTagName('head')[0]; //获取head元素
 style.type = 'text/css'; //这里必须显示设置style元素的type属性为text/css,否则在ie中不起作用

 if(style.styleSheet){ //IE
  var func = function(){
   try{ //防止IE中stylesheet数量超过限制而发生错误

    style.styleSheet.cssText = cssText;

   }catch(e){

   }
  };
  //如果当前styleSheet还不能用,则放到异步中则行
  if(style.styleSheet.disabled){

   setTimeout(func,10);
  }else{
   func();
  }
 }else{ //w3c
  //w3c浏览器中只要创建文本节点插入到style元素中就行了
  var textNode = document.createTextNode(cssText);

  style.appendChild(textNode);

 }

 head.appendChild(style); //把创建的style元素插入到head中
}

mycss = '.inputButton {background-color: #F09199;color: #fff; cursor: pointer;font-family: lucida grande,tahoma,verdana,arial,sans-serif;font-size: 11px;padding: 1px 3px;text-decoration: none;}'+
    '.forum_category{background-color:#F09199;color:#fff;font-weight:700;padding:3px;}'+
    '.vote_container{background-color:#e1e7f5}'+
    '.forum_boardrow1{background-color:#fff;border-color:#ebebeb;border-style:solid;border-width:0;padding:6px 4px;vertical-align:top}';

(function() {
    var islogin = !$("div").is(".guest");
    if(islogin)
    {
        var url = location.pathname;
        url = url.split('/');
        var ep_id = url[2];
        var info = $('div.idBadgerNeue a.avatar').attr('href');
        info = info.split('/');
        var user_id = info[4];
        var name = $('div#headerSubject a').html();
        var ep = $('div#columnEpA h2.title').html();
        ep = ep.split(' ')[0];
        //var myurl = "http://127.0.0.1:8000/bgm/";
        var myurl = "http://39.106.26.175:8000/bgm/";
        addCSS(mycss);
        $.ajax({
            url: myurl+"user_ep",
            jsonp: "callback",
            dataType: "jsonp",
            data: {
                ep_id:ep_id,
                user_id:user_id,
            },
            success: function( ret ) {

                if(!ret.res){
                    var html = '<div id="poll_container" style="width:670px">' +
                        '<div class="forum_category">'+name+' '+ep+'观感</div>'+
                    '<div class="forum_boardrow1" style="border-width: 0 1px 1px 1px;">'+
                     '<div style="margin: 3px 0;"><label><input type="radio" name="pollOption" value="5"> 5/5 超棒!</label></div>'+
                     '<div style="margin: 3px 0;"><label><input type="radio" name="pollOption" value="4"> 4/5 不错</label></div>'+
                     '<div style="margin: 3px 0;"><label><input type="radio" name="pollOption" value="3"> 3/5 一般</label></div>'+
                     '<div style="margin: 3px 0;"><label><input type="radio" name="pollOption" value="2"> 2/5 不喜欢</label></div>'+
                     '<div style="margin: 3px 0;"><label><input type="radio" name="pollOption" value="1"> 1/5 厌恶</label></div>'+
                     '<br><input type="submit" name="voteButton" value="投票" class="inputButton" id="voteButton"></div></div>';
                    $("#columnEpA").find("[class='epDesc']").append(html);
                    var button = document.getElementById('voteButton');
                    button.onclick = function(){
                        var val = $('input:radio:checked').val();
                        if(val == undefined){
                            alert("请选择后再投票!");
                            return;
                        }
                        $.ajax({
                            url: myurl+"addVote",
                            jsonp: "callback",
                            dataType: "jsonp",
                            data: {
                                ep_id:ep_id,
                                user_id:user_id,
                                rate:val
                            },
                            success: function( ret ) {
                                if(ret.success){
                                    info = getInfo(ret);
                                    $('div#poll_container').html(info);
                                }
                                else{
                                    alert(ret.message);
                                }
                            }
                        });
                    };
                }

                else{
                    var html =  '<div id="poll_container" style="width:670px">' + getInfo(ret) + '</div>';
                    $("#columnEpA").find("[class='epDesc']").append(html);
                }
;            }
        });

    }
})();

function getInfo(ret){
    var judge_str = ['5/5 很棒!', '4/5 不错', '3/5 一般', '2/5 不喜欢', '1/5 厌恶'];
    var html = '<div class="forum_category">投票结果</div><div class="forum_boardrow1" style="border-width: 0 1px 1px 1px;">'+
    '<table border="0" width="100%" cellpadding="" cellspacing="5">';
    for(var i=0;i<5;i++)
    {
        html = html + '<tr><td align="left">'+judge_str[i];
        if(ret.choice == 5-i)
        {
            html += '<small>(your vote)</small>';
        }
        html = html + '</td><td width="35%"><div class="vote_container" style="width: ' + ret.width[i] + '%">&nbsp;</div></td><td width="25" align="center">';
        html = html + ret.count[i] + '</td><td width="40" align="right">' + ret.width[i] + '%</td></tr>';
    }
    html = html + '</table><div style="text-align: center;">Voters: ' + ret.voters + '</div></div>';
    return html;
}