「Widget:BilibiliVideo」の版間の差分

提供: 萌えっ娘百科事典
移動先: 案内検索
1行目: 1行目:
 
<noinclude><poem>
 
<noinclude><poem>
Name: Bilibili Video Plugin
+
名称:Bilibili视频插件
Author: 加大号的猫
+
作者:加大号的猫
Revised: [[zhmoegirl:User:Boxsnake|Boxsnake]]
+
修订:[[User:Boxsnake|Boxsnake]]
Re-revised: [[zhmoegirl:User:AnnAngela|AnnAngela]]
+
重修订:[[User:AnnAngela|AnnAngela]]
Re-re-revised for HTML5: [[zhmoegirl:User:AnnAngela|AnnAngela]]
+
H5版再修订:[[User:AnnAngela|AnnAngela]]
Copyright agreement: MIT
+
版权协定:MIT
Mobile support: [[zhmoegirl:User:Nbdd0121|XYZ指示物]]
+
移动版支持:[[User:Nbdd0121|XYZ指示物]]
Release date: 1st version on 2012/06/29, 2nd versionon on 2015/02/06, major update on 2016/11/29, HTML5 version on 2017/04/10
+
发布日期:2012年6月29日第一版发布,2015年2月6日更新,2016年11月29日更新更多细节,2017年4月10日更新至H5版(感谢众多dalao的debug_(:зゝ∠)_)。
Release at: zh.moegirl.org/Widget:BilibiliVideo && zh.moegirl.org/Template:BilibiliVideo
+
发布地址:zh.moegirl.org/Widget:BilibiliVideo && zh.moegirl.org/Template:BilibiliVideo
Note: If there are any questions, please contact the author.
+
注意事项:如有问题,请联系作者。
'''THIS WIDGET CAN NOT BE USED ALONE''', PLEASE USE {{tl|BilibiliVideo}}!
+
'''本Widget不能单独使用''',请使用{{tl|BilibiliVideo}}!
 
</poem></noinclude><includeonly>
 
</poem></noinclude><includeonly>
 
<!--{if !isset($wgBilibili) || !$wgBilibili}-->
 
<!--{if !isset($wgBilibili) || !$wgBilibili}-->
141行目: 141行目:
 
                 iframes: new(window.Map || mw.Map)()
 
                 iframes: new(window.Map || mw.Map)()
 
             };
 
             };
             var rememberWH = function rememberWH(ele) {
+
             var EPSILON = 2.220446049250313e-16,
 +
                rememberWH = function rememberWH(ele) {
 
                     ele.data({ width: ele.width(), height: ele.height() });
 
                     ele.data({ width: ele.width(), height: ele.height() });
 
                 },
 
                 },
153行目: 154行目:
 
                 recallWH = function recallWH(ele) {
 
                 recallWH = function recallWH(ele) {
 
                     ele.width(ele.data('width')).height(ele.data('height'));
 
                     ele.width(ele.data('width')).height(ele.data('height'));
 +
                },
 +
                setMaxHeight = function setMaxHeight(container, target) {
 +
                    var h = container.outerHeight(true);
 +
                    var t = 0;
 +
                    container.children().each(function() {
 +
                        t += $(this).outerHeight(true);
 +
                    });
 +
                    target.css('max-height', 'calc(100% - ' + (parseInt(t - h + 2 - (Number.EPSILON || EPSILON))) + 'px)');
 
                 };
 
                 };
 
             $('.bilibili-video-container').addClass('exec').each(function() {
 
             $('.bilibili-video-container').addClass('exec').each(function() {
191行目: 200行目:
 
                     width: width,
 
                     width: width,
 
                     height: height
 
                     height: height
                 }).text('Loading...');
+
                 }).text('正在加载,请稍候……');
 
                 $.extend(iframe, {
 
                 $.extend(iframe, {
 
                     execAppend: function execAppend() {
 
                     execAppend: function execAppend() {
 
                         var iframe = this,
 
                         var iframe = this,
                             retryLink = $('<a/>').text('Reload').addClass('bilibili-iframe-retry-link').on('click', function() {
+
                             retryLink = $('<a/>').text('重新加载').addClass('bilibili-iframe-retry-link').on('click', function() {
 
                                 var container = $(this).closest('.bilibili-iframe-container'),
 
                                 var container = $(this).closest('.bilibili-iframe-container'),
 
                                     iframe = container.find('iframe'),
 
                                     iframe = container.find('iframe'),
257行目: 266行目:
 
                         error: function(e) {
 
                         error: function(e) {
 
                             title_text.text(title || 'av' + id + ([0, 1].indexOf(page) !== -1 ? '' : ' (' + page + ')'));
 
                             title_text.text(title || 'av' + id + ([0, 1].indexOf(page) !== -1 ? '' : ' (' + page + ')'));
                             if (e && e.responseJSON && e.responseJSON.message && e.responseJSON.message === "Authentication is required for accessing this video.") title_text.parent().append('<span style="display: inline-block;" title="“申し訳ありませんが、ビデオ情報を取得できませんでした"><sup>(注)</sup></span>');
+
                             if (e && e.responseJSON && e.responseJSON.message && e.responseJSON.message === "Authentication is required for accessing this video.") title_text.parent().append('<span style="display: inline-block;" title="“Bilibili采用会员制,大部分投稿视频会员与游客都可以观看,\n  但部分视频在UP主设定下只有会员才可以观看(这些视频常被称为‘只有会员才知道的世界’)。”\n  - Bilibili#用户制度 @ ZhMoegirl\n在这种情况下我们无法为您解析视频及其分P标题、分P数量等,也不能强制使用H5播放器。\n但如果您已经登录B站并且设置默认播放器为H5播放器时此处仍会是H5播放器。">(只有会员才知道的世界)<sup>(注)</sup></span>');
 
                             iframe.attr('src', 'https://www.bilibili.com/blackboard/player.html?aid=' + id + '&page=' + page + '&enable_ssl=1&as_wide=1' + (autoplay === 'true' ? '&autoplay=true' : '') + (isNaN(t) || t <= 0 ? '' : '&t=' + t));
 
                             iframe.attr('src', 'https://www.bilibili.com/blackboard/player.html?aid=' + id + '&page=' + page + '&enable_ssl=1&as_wide=1' + (autoplay === 'true' ? '&autoplay=true' : '') + (isNaN(t) || t <= 0 ? '' : '&t=' + t));
 
                             if (iframeContainer.is(':visible')) iframe.execAppend();
 
                             if (iframeContainer.is(':visible')) iframe.execAppend();
269行目: 278行目:
 
                     selfbox.toggleClass('onshow');
 
                     selfbox.toggleClass('onshow');
 
                     iframeContainer.toggle();
 
                     iframeContainer.toggle();
                     if ($(this).text() === '動画表示') {
+
                     if ($(this).text() === '显示视频') {
                         $(this).text('動画隠す');
+
                         $(this).text('隐藏视频');
 
                         if (iframe.data('ready') === true) iframe.execAppend();
 
                         if (iframe.data('ready') === true) iframe.execAppend();
 
                         $(window).resize();
 
                         $(window).resize();
 
                     } else {
 
                     } else {
                         $(this).text('動画表示');
+
                         $(this).text('显示视频');
 
                         selfbox.removeAttr('style');
 
                         selfbox.removeAttr('style');
 
                     }
 
                     }
282行目: 291行目:
 
                     if (selfbox.is('.widescreen')) {
 
                     if (selfbox.is('.widescreen')) {
 
                         selfbox.removeClass('widescreen');
 
                         selfbox.removeClass('widescreen');
                         $(this).text('シアターモード');
+
                         $(this).text('显示宽屏');
 
                         recallWH(iframeContainer);
 
                         recallWH(iframeContainer);
 
                         recallWH(iframe);
 
                         recallWH(iframe);
288行目: 297行目:
 
                     } else {
 
                     } else {
 
                         selfbox.addClass('widescreen');
 
                         selfbox.addClass('widescreen');
                         $(this).text('デフォルト表示');
+
                         $(this).text('退出宽屏');
 
                         rememberWH(selfbox);
 
                         rememberWH(selfbox);
 
                         selfbox.css('width', selfbox.parent().width() > Math.min(911, global_element.width()) ? '73%' : '100%'); //可以看见按钮的最小宽度 665 的 1/0.73 倍
 
                         selfbox.css('width', selfbox.parent().width() > Math.min(911, global_element.width()) ? '73%' : '100%'); //可以看见按钮的最小宽度 665 的 1/0.73 倍
296行目: 305行目:
 
                         setWH(iframe);
 
                         setWH(iframe);
 
                         setWH(iframeContainer);
 
                         setWH(iframeContainer);
 +
                        setMaxHeight(selfbox, iframeContainer);
 
                     }
 
                     }
 
                 });
 
                 });
314行目: 324行目:
 
                     selfbox.css('width', selfbox.parent().width() > Math.min(911, global_element.width()) ? '73%' : '100%');
 
                     selfbox.css('width', selfbox.parent().width() > Math.min(911, global_element.width()) ? '73%' : '100%');
 
                     setTureHeight(selfbox);
 
                     setTureHeight(selfbox);
 +
                    setMaxHeight(selfbox, selfbox.find('.bilibili-iframe-container'));
 
                 });
 
                 });
 
             });
 
             });
 
         }
 
         }
 
     });
 
     });
});</script><!--{/if}-->
+
});
 +
</script><!--{/if}-->
 
</includeonly>
 
</includeonly>

2017年12月30日 (土) 20:38時点における版

名称:Bilibili视频插件
作者:加大号的猫
修订:Boxsnake
重修订:AnnAngela
H5版再修订:AnnAngela
版权协定:MIT
移动版支持:XYZ指示物
发布日期:2012年6月29日第一版发布,2015年2月6日更新,2016年11月29日更新更多细节,2017年4月10日更新至H5版(感谢众多dalao的debug_(:зゝ∠)_)。
发布地址:zh.moegirl.org/Widget:BilibiliVideo && zh.moegirl.org/Template:BilibiliVideo
注意事项:如有问题,请联系作者。
本Widget不能单独使用,请使用{{BilibiliVideo}}!