2016-10-01 6 views
2

これまでの4日間、新しいwikiを設定しています。すべてが順調に進んでいますが、私は特別なタッチアップに対処したいと思います。MediaWikiサイトでJSを使用してURL文字列を変更する

私は数時間前にWikipediaの "Template starter"というプリロードテンプレートを作成しました。私は別の方法で入力フォームを作成することができますが、テンプレート名前空間の赤いリンクは、新しいページが作成できるようになるたびに常にこのページのコードにつながります。だから:

http://rfm.referata.com/w/index.php?title=Template:Foo&action=edit&redlink=1(デフォルト)

は次のようになります。

http://rfm.referata.com/w/index.php?title=Template:Foo&action=edit&redlink=1&preload=Template:Template+starter(ターゲット)

はJavaScriptを経由して、サイトのCommon.jsに追加スニペットモバイル.js。

MWベースの同様の例を紹介していないので、すべてのA-O.Kを確認したいと思います。

答えて

1

this answerから働いて、あなたはMediawiki:Common.jsにこのような何かを行うことができます:

$(function() { 
    var preload = 'Template:Template_starter'; 
    $("body.ns-10 #mw-content-text a.new").attr('href', function(i, h) { 
     // Maybe some links already have a preload parameter. 
     if (h.indexOf('preload=') !== -1) { 
      return h; 
     } 
     // All others get it appended. 
     return h + "&preload=" + preload; 
    }); 
}); 

ノートのチェックは、既存の「= &プリロード」がすべてその堅牢ではないこと。以前のバージョンでは唯一のテンプレートでページ内を働いたこと

$(function() { 
var preload = 'Template:Template_starter'; 
$("a.new[href*='Template:']").attr('href', function(i, h) { 
    // Maybe some links already have a preload parameter. 
    if (h.indexOf('preload=') !== -1) { 
     return h; 
    } 
    // All others get it appended. 
    return h + "&preload=" + preload; 
}); 
}); 

注:

0

この拡張機能を使用すると、最後の時間を提供するもので、氏はウィルソンの改善、あなたのケースでもhttps://www.mediawiki.org/wiki/Extension:NewArticleTemplate

+0

私のサイトがホストされているReferataはまだそれを持っていません。私が時間を見つけたときにも同様に[要求する](http://www.referata.com/wiki/Requested_features)。提案に感謝します! – Routhwick

0

を動作するはずです名前空間。この修正は、存在しないテンプレートへの赤いリンクを持つすべてのページに適用されます。ありがとう、ダースありがとう!

関連する問題