This page is a translated version of the page Extension:Popups and the translation is 41% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎svenska • ‎русский • ‎हिन्दी • ‎中文 • ‎日本語 • ‎한국어
OOjs UI icon advanced.svg
发布状态: 稳定版
Hovercard english.png
实现 皮肤
描述 在用户悬停在条目链接及腳註標記时显示弹窗
  • Prateek Saxena (user:Prtksxna),
  • Yair Rand,
  • Sam Smith,
  • Joaquín Oltra Hernández,
  • Bahodir Mansurov,
  • Jon Robson,
  • Piotr Miazga,
  • Jeff Hobson
  • WMDE Engineering
MediaWiki 1.30+
PHP 5.6+
MediaWiki 1.36 Not formally tested
MediaWiki 1.34 Not formally tested
MediaWiki 1.32 Not formally tested
许可协议 GNU通用公眾授權條款2.0或更新版本
例子 English Wikipedia
  • $wgPopupsVirtualPageViews
  • $wgPopupsOptInDefaultState
  • $wgPopupsRestGatewayEndpoint
  • $wgPopupsHideOptInOnPreferencesPage
  • $wgPopupsTextExtractsIntroOnly
  • $wgPopupsConflictingRefTooltipsGadgetName
  • $wgPopupsPageDisabled
  • $wgPopupsEventLogging
  • $wgPopupsStatsvSamplingRate
  • $wgPopupsReferencePreviewsBetaFeature
  • $wgPopupsConflictingNavPopupsGadgetName
  • $wgPopupsOptInStateForNewAccounts
  • $wgPopupsGateway
  • $wgPopupsReferencePreviews


问题 尚未完成的工作 · 回報錯誤


这个扩展原始Design team的开始,因著名的Navigation popups(导航弹窗)而作。当前该功能对所有未登录的维基百科用户启用。参见页面预览以了解扩展运作的描述,以及在此维基媒体项目的更多信息。

引用预览功能最终被加入,并用于实现德语社区的愿望。帮助:参考文献预览 有更详细的介绍和更多信息。


这个扩展对擴充功能:TextExtracts 扩展:页面图像 具有依赖。 此外还依赖测试功能 (如果您希望开启beta特性参考文献预览);此外还依赖Extension:EventLogging Extension:WikimediaEvents (对于指导)。


  • 下载文件,并将其放置在您extensions/文件夹中的Popups目录内。
  • 将下列代码放置在您的LocalSettings.php的底部:
    wfLoadExtension( 'Popups' );
  •   完成 – 在您的wiki上导航至Special:Version,以验证扩展已成功安装。

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

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

require_once "$IP/extensions/Popups/Popups.php";


wfLoadExtensions( [
] );
$wgPopupsHideOptInOnPreferencesPage = true;
$wgPopupsReferencePreviewsBetaFeature = false;

Page previews API

Every project is different, and what displays in your previews is highly dependent on the content inside your wiki.

Extension:Popups has been optimised to work with Wikipedia-like content (e.g. wikitext). If your wiki is using a different kind of content handler (for example as is the case for Wikibase ) it will need to provide its own API.

The API can be written in any language, but the response of the API must match the spec defined here:


Defining new APIs is out of scope for the Popups extension.

Once defined, you can configure page previews to point to your API using $wgPopupsRestGatewayEndpoint configuration option.


选项 默认值 文档
$wgPopupsVirtualPageViews false Whether the extension should log virtual pageviews.
$wgPopupsHideOptInOnPreferencesPage false 是否在参数设置页面隐藏“开启/关闭页面预览”的选项。请注意如果PopupsBetaFeature设置为true,这一选项将会保持隐藏。默认为false False by default.
$wgPopupsOptInDefaultState 1 页面预览可见性的默认值。必须是字符串,以便与beta功能设置兼容。 For more information see T191888
$wgPopupsOptInStateForNewAccounts 1 Default Page Previews visibility for newly created accounts (from Q2 2018). For more information see T191888
$wgPopupsConflictingNavPopupsGadgetName Navigation_popups The local Navigation popups gadget name used as its identifier in MediaWiki:Gadgets-definition . This gadget is incompatible with page previews. The extension will disable itself for users with the gadget enabled.
$wgPopupsConflictingRefTooltipsGadgetName ReferenceTooltips The local Reference Tooltips gadget name used as its identifier in MediaWiki:Gadgets-definition . This gadget is incompatible with reference previews. Reference previews will disable itself for users with the gadget enabled.
$wgPopupsGateway mwApiPlain 使用哪个网关来获取popups数据。可用选项:[mwApiPlain|restbasePlain|restbaseHTML]。src/gateway/page.js中提供了完整且始终最新的列表。
$wgPopupsRestGatewayEndpoint /api/rest_v1/page/summary/ 指定摘要来源的REST端点。 Endpoint must meet the spec at Specs/Summary/1.2.0 .
$wgPopupsReferencePreviews true Temporary feature flag to disable reference previews during developement.
$wgPopupsReferencePreviewsBetaFeature true 参考预览是否应作为Beta功能提供。如果为false,则默认情况下为所有用户启用参考预览。
$wgPopupsEventLogging false Whether we should log events. Note if this is enabled without using that variable events will be logged for all users without any sampling! Be careful!
$wgPopupsStatsvSamplingRate 0 Sampling rate for logging performance data to statsv.
$wgPopupsPageDisabled [ "Special:CreateAccount", "Special:GlobalRenameRequest", "Special:Userlogin", "Special:MergeAccount", "Special:ChangeCredentials", "Special:OAuthListConsumers", "Special:GlobalUserRights", "Special:Notifications", "Special:UserRights", "Special:Upload", "Special:VipsTest", "Special:ApiFeatureUsage", "Special:ExpandTemplates", "Special:GadgetUsage", "Special:GraphSandbox", "Special:TemplateSandbox", "Special:MostLinkedFiles", "Special:Book" ] List of pages that should not show Popups. Includes subpages. These pages are subject to the HTML cache policy of the wiki. A purge on these pages maybe needed to see the effect of this configuration variable. Every excluded page should be defined by a canonical name, eg: Special:Userlogin.




图片来源于扩展:页面图像 ,该图片返回与文章相关的单个最合适的缩略图。 它忽略维护模板,小作品,旗帜图标等。



您也可以使用擴充功能:TextExtracts 扩展。 This extension has various caveats and we do not actively support use of this API.




The reference types displayed are set by using specific CSS-classes on the ‎<cite>-tag that can be used to encapsulate the content of a reference e.g. <cite class="journal">...</cite>. Currently the following types are supported: web, journal, book, news, note. Apart from that there is always a generic fallback if neither the cite tag was found nor an appropriate class was used. Please note, that it's not recommended to use the CSS-classes directly in wikitext, but rather by creating templates.


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.


  • Users of the Translate extension should note that Page Previews requests previews in the content language of the page. If the preview contains a complete translatable block, then it will be translated. If, however, the preview contains an incomplete translateable block – because a sentence is cut off, say – then it isn't translated and will be displayed in the content language of the page. If you are observing this behavior, then you should consider marking up individual sentences in your lead section.
  • T167852 is for a technical audience but has more information on the underlying problem.
  • Longer math formulas cutting off in preview - long math or chemical formulas (formulas wider than the preview width) display as truncated in previews. We were not able to add a gradient in order to indicate that the formula is continued on the article itself.


Why can't I copy and paste text from a preview?

At time of writing, the cons of doing so outweigh the pros. Essentially it boils down to decreasing the touch area to read the article in full. Once Page Previews is deployed on English and German Wikipedia, feel free to reopen this task and reignite the discussion, but right now we have no plans.

How can I change the image that I see on preview?


Any element marked with the noexcerpt class will be stripped from the summary.


These are provided by the Summary REST API.

Why are parenthetical stripped?

There's a good discussion going on in T91344 in Phabricator. If you have any views on this or see any problems relating to this, please let us know there.

Why don't I see Popups outside of content namespaces?

Popups appear on links to pages in content namespaces only. This is a limitation of Popups; TextExtracts are available from other namespaces. You may work around this by appending more namespaces into $wgContentNamespaces .