扩展:弹窗

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Extension:Popups and the translation is 24% complete.

Outdated translations are marked like this.
Other languages:
català • ‎Deutsch • ‎English • ‎español • ‎suomi • ‎français • ‎italiano • ‎日本語 • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎sicilianu • ‎中文
MediaWiki扩展手册Manual:Extensions
Crystal Clear action run.png
Popups

发布状态:Extension status 测试

HoverCard Inheritance.png
实现Template:Extension#type Skin
描述Template:Extension#description 在用户悬停在条目链接时显示弹窗
作者Template:Extension#username Prateek Saxena, Yair Rand, Sam Smith, Joaquín Oltra Hernández, Bahodir Mansurov, Jon Robson, Piotr Miazga, Jeff Hobson (Prtksxnatalk)
MediaWikiTemplate:Extension#mediawiki 1.25+
PHPTemplate:Extension#php 5.3.3+
数据更新Template:Extension#needs-updatephp
许可协议Template:Extension#license GNU General Public License 2.0 or later
下载
使用的钩子Template:Extension#hook
GetBetaFeaturePreferencesManual:Hooks/GetBetaFeaturePreferences
GetPreferencesManual:Hooks/GetPreferences
BeforePageDisplayManual:Hooks/BeforePageDisplay
ResourceLoaderTestModulesManual:Hooks/ResourceLoaderTestModules
ResourceLoaderGetConfigVarsManual:Hooks/ResourceLoaderGetConfigVars
MakeGlobalVariablesScriptManual:Hooks/MakeGlobalVariablesScript
UserGetDefaultOptionsManual:Hooks/UserGetDefaultOptions

翻译Popups扩展(如果在translatewiki.net可用)

检查使用和版本矩阵。

问题Phabricator

开放的工作 · 报告错误

弹窗(Popups)扩展显示“hovercards” − 当用户悬停在一个条目链接时,显示带有条目内容摘要的弹窗。

This is an initiative of the Design team, inspired by the popular Navigation popups gadget. Currently this feature is available as a Beta Feature on Wikimedia wikis. A description of how the extension functions and more information on its use on Wikimedia projects is available at Page Previews.

依赖性[edit]

This extension has a hard dependency on 扩展:TextExtractsExtension:TextExtracts and 扩展:页面图像Extension:PageImages. There are also optional dependencies on 测试功能Beta Features (without BetaFeatures, it loads for all users), and Extension:EventLoggingExtension:EventLogging and Extension:WikimediaEventsExtension:WikimediaEvents (for instrumentation).

安装[edit]

  • 下载文件,并将其放置在您extensions/文件夹中的Popups目录内。
  • 将下列代码放置在您的LocalSettings.php的底部:
    wfLoadExtension( 'Popups' );
    
  • 运行更新脚本,它将自动创建此扩展必须依赖的数据库表。
  • YesY 完成 - 在您的wiki上导航至Special:Version,以验证扩展已成功安装。

致使用MediaWiki 1.24或更早版本的用户:

上面的说明介绍的是安装此扩展的新方法,它使用wfLoadExtension() 如果您需要在早期版本(MediaWiki 1.24和更早版本)中安装此扩展,而不是wfLoadExtension( 'Popups' );,您需要使用:

require_once "$IP/extensions/Popups/Popups.php";
  • 启用测试功能
$wgPopupsBetaFeature = true;

Configuration options[edit]

Option Default value Useful for... Documentation
$wgPopupsBetaFeature true sysadmins Enables Popups as a beta feature
$wgPopupsExperiment true sysadmins Enables A/B experiments with Popups in desktop stable.
$wgPopupsExperimentConfig
$wgPopupsExperimentConfig = [
        'name' => 'Popups A/B Test - May, 2016',
        'enabled' => true,
        'buckets' => [
                'control' => 0.5,
                'A' => 0.5
        ],
];
sysadmins Configuration for Popups A/B test

control and bucket determine which percentage of users will see Popups enabled. Bucketing is done per browser/device, not user accounts.

$wgPopupsExperiment will override the experiment setting enabling Popups if explicitly enabled in beta features.

$wgPopupsSchemaSamplingRate 0 sysadmins Frequency of sampling
$wgPopupsSurveyLink sysadmins URL for survey

内容[edit]

The popups show an image (if one is available), a small text excerpt and the timestamp of the last edit.

图片[edit]

The image comes from the Extension:PageImages which returns the single most appropriate thumbnail associated with an article. It ignores maintenance templates, stubs, flag icons etc.

文本[edit]

The text comes from the Extension:TextExtracts from which a plain-text extract is requested (see that extension for exclusions). Two sentences are requested from the intro section and a limit is put through CSS that makes sure that text doesn't overflow from the card. This is done by applying a max-height on that element. This approach would provide the same visual solution regardless of the language's script. A major con is that the text stops abruptly and ellipses can't be added.

显示/隐藏定时[edit]

The timing of the show/hide can currently be adjusted via code, which should be added to your local Special:MyPage/common.js or global.js file :

mw.loader.using( [ 'ext.popups' ], function() { // wait for popups to be loaded

// Time to wait in ms before showing a popup on hover. Default is 500.
mw.popups.render.POPUP_DELAY = 500;

// Time to wait in ms before closing a popup on de-hover. Default is 300.
mw.popups.render.POPUP_CLOSE_DELAY = 300;

// Time to wait in ms before starting the API queries on hover, must be <= POPUP_DELAY. Default is 50.
// Don't change this unless you know what you're doing.
mw.popups.render.API_DELAY = 50;

});

Renderers[edit]

This extensions currently has only one renderer, that is for ordinary pages. New renderers for different kind of pages, or things like references can be easily added. One needs to create a new object with the following methods:

  • init
  • createPopup
  • getOffset
  • getClasses
  • processPopup

You can see details of these methods in ext.popups.renderer.article.js or this patch that adds a renderer for references.