MediaWiki 如何为 InputBox 启用自动完成? (或者是否有其他扩展名)
MediaWiki How to enable AutoComplete for InputBox? (or is there an alternative extension)
我在 wiki 的起始页上添加了一个输入框。我想模仿Google.
<inputbox>
type=search
break=yes
</inputbox>
并且我已为搜索激活自动完成功能
https://www.mediawiki.org/wiki/Manual:Enabling_autocomplete_in_search_box
现在我意识到,我们为搜索框提供了这个很酷的自动完成功能,但没有为突出的输入框提供。
有办法激活吗?我也已经在寻找替代扩展。
有一种虚拟方法可以执行此操作,方法是执行以下步骤:
- 确保 JQuery UI 安装在您的 Mediawiki 版本中。如果没有,则将其附加到您的项目中。
- 将此代码添加到您的
Mediawiki:common.js
页面:
( function ( mw, $ ) {
$( function () {
$( '.searchboxInput' ).autocomplete( { //This is the class Name of your desired input
source: function( request, response ) {
// Create a new Api object (see [[RL/DM#mediawiki.api]]
var api = new mw.Api();
// Start a "GET" request
api.get( {
action: 'opensearch',
search: request.term, // This is the current value of the user's input
suggest: ''
} ).done( function ( data ) {
response( data[1] ); // set the results as the autocomplete options
} );
}
} );
} );
}( mediaWiki, jQuery ) );
- 清除浏览器中的缓存,然后刷新页面。您会发现,当您在该输入中输入任何字符时,它会显示一个相关页面列表。
根据 ASammour 输入,我再次搜索。
更新 Mediawiki:common.js
有帮助
但仅限于
document.getElementById('searchform').action = '/w/index.php';
document.getElementsByName('search')[0].id = 'searchInput';
我在 wiki 的起始页上添加了一个输入框。我想模仿Google.
<inputbox>
type=search
break=yes
</inputbox>
并且我已为搜索激活自动完成功能 https://www.mediawiki.org/wiki/Manual:Enabling_autocomplete_in_search_box
现在我意识到,我们为搜索框提供了这个很酷的自动完成功能,但没有为突出的输入框提供。
有办法激活吗?我也已经在寻找替代扩展。
有一种虚拟方法可以执行此操作,方法是执行以下步骤:
- 确保 JQuery UI 安装在您的 Mediawiki 版本中。如果没有,则将其附加到您的项目中。
- 将此代码添加到您的
Mediawiki:common.js
页面:
( function ( mw, $ ) {
$( function () {
$( '.searchboxInput' ).autocomplete( { //This is the class Name of your desired input
source: function( request, response ) {
// Create a new Api object (see [[RL/DM#mediawiki.api]]
var api = new mw.Api();
// Start a "GET" request
api.get( {
action: 'opensearch',
search: request.term, // This is the current value of the user's input
suggest: ''
} ).done( function ( data ) {
response( data[1] ); // set the results as the autocomplete options
} );
}
} );
} );
}( mediaWiki, jQuery ) );
- 清除浏览器中的缓存,然后刷新页面。您会发现,当您在该输入中输入任何字符时,它会显示一个相关页面列表。
根据 ASammour 输入,我再次搜索。
更新 Mediawiki:common.js
有帮助
但仅限于
document.getElementById('searchform').action = '/w/index.php';
document.getElementsByName('search')[0].id = 'searchInput';