这可以被视为一个 XY 问题。我真正想做的是将查询参数传递给内部链接。 (我真正想要做的是打开所有页面页面,并将隐藏重定向选项设置为true。)
但似乎为了做到这一点,您必须使用带有完整内部链接的外部链接语法。这会产生一个带有箭头的链接,并在新选项卡中打开。这对于真正的外部链接来说很好,但这实际上是使用外部链接语法的内部链接。
我设法通过将链接包装在带有 css 类
div
的 plainlinks
中来隐藏箭头,效果很好,但链接仍然在新选项卡中打开。
我看到
LocalSettings.php
中有一个名为 $wgExternalLinkTarget
的全局设置,当前设置为 _blank
,这允许在新选项卡中打开外部链接。没关系,我确实希望在新选项卡中打开真正的外部链接,如果可能的话,我只想为这个链接覆盖一次。
我的链接目前如下所示:
<div class="plainlinks">
* [{{fullurl:Special%3AAllPages|hideredirects=1}} All Pages]
</div>
(搜索这个,没有结束的人想要在new选项卡中打开东西,但我找不到在same选项卡中打开链接的东西。)
如果 URL 与您的 wiki 具有相同的域,您可以使用 JavaScript 事件监听器来更改
target
属性。这需要您修改相应的MediaWiki:Skin.js
页面。
// jQuery
$('body').on('click', 'a[href]', function(event) {
const url = new URL(this.href);
if (url.host === 'your.domain.here') {
this.target = '_self';
}
});
// Or vanilla JavaScript
document.body.addEventListener('click', event => {
const element = event.target;
if (!element.matches('a[href]')) {
return;
}
const url = new URL(element.href);
if (url.host === 'your.domain.here') {
element.target = '_self';
}
});