MediaWiki‐ノート:Common.js/過去ログ1
このページは過去の議論を保存している過去ログページです。編集しないでください。新たな議論や話題は、MediaWiki‐ノート:Common.jsで行ってください。 |
各検索エンジンのロゴの寸法
[編集]Suisuiさんが追加されたSpecialSearchEnhancedですが、各社サーチエンジンのロゴサイズが違うためGoogle以外は画像が歪んでしまうので、以下の2つの指定をはずしませんか?--Masao 2007年2月20日 (火) 08:19 (UTC)
img.style.width = "135px"; img.style.height = "35px";
- これらの画像はフリーでアップロードできないため好きなサイズの物を作ることができません。この指定を外すとそれぞれ(えらく)バラバラの大きさで表示されます。そのためバランスを保ってだいたい同程度の大きさで表示するために検討したのは以下の3つです。
- Gecko以外のブラウザではimageで縦横比を保っての自動縮小はうまく働きませんでした。(方法があれば教えてください)これができれば、あるいは私の環境の問題であればこれが一番いい方法と思います。ただし、この場合でも画像に歪みはでます。
- JavaScriptで画像のサイズを調べて縦横比を保って縮小する事も考えましたが画像をたびたび変更するわけではないので用途からすると明らかに無駄です。
- SpecialSearchEnhancedの引数に画像のサイズ指定を含めて、画像ごとに個別にきちんと見えるサイズにればゆがみを最小に押さえて表示する事も可能でしょう。しかし、計算だけでは出せないため作業、スクリプトの読みやすさ共に煩雑になる事から使用を避けました。また、おそらく日本語版以外で問題になることはないということからも使用を避けました。
それでもあえてサイズ指定をするのであればきちんと見えるサイズを画像ごとに指定してください。それか、きちんと見える画像を教えてください。現在のサイズはGoogleのバナーのサイズに合わせています。--Suisui 2007年2月21日 (水) 03:47 (UTC)
- 横から失礼します。
img.style.width = "135px"; img.style.height = "*";
- ではどうでしょうか(とりあえずOperaとFireFoxで試してみましたが 問題無さそうです)。-- D.328 2007/02/21 06:22 (UTC)
- IEでは一定した結果が得られません--Suisui 2007年2月21日 (水) 19:13 (UTC)
Template:小文字
[編集]Template‐ノート:小文字で議論されている、記事タイトルを小文字ではじめるスクリプトの導入は可能でしょうか?該当のスクリプトは利用者:Fryed-peach/RealTitleBanner.jsに切り出してあります。--fryed-peach 2007年3月9日 (金) 01:42 (UTC)
- 導入されました。--fryed-peach 2007年5月8日 (火) 08:50 (UTC)
Template:Navbox generic折畳機能について
[編集]The necessary code about autocollapse is here : 利用者:Alexsh/collapse.js,it's test OK. Please add to Common.js--Alex S.H. Lin 2007年4月9日 (月) 15:02 (UTC)
- Template‐ノート:小文字などでも少し触れられていますが、enの同名スクリプトにて導入されているテーブルの折りたたみ機能を日本語版でも導入して欲しいんですが・・・可能でしょうか。--航汰 2007年6月5日 (火) 07:21 (UTC)
- 導入しました。Navbox generiを使ったテンプレートが2個以上ページに貼られていると自動で折りたたみます。--cpro 2007年6月13日 (水) 03:00 (UTC)
Dynamic Navigation Bars の div 要素以外への対応
[編集]再掲です。現在の Dynamic Navigation Bars は div要素にしか対応していませんが、意味マークアップ上妥当ではない場合もある為、此れを dl,dt,dd要素にも対応したものにして戴けないでしょうか。現在の所、Wikipedia:ウィキプロジェクト 国/フッタで使われているテンプレートに利用する事を考えています。因みに自前のWikiにて試してみたりもしたのですが、JavaScriptはよく知らないので此れで良いのかは分りかねております。--kahusi (會話) 2007年7月19日 (木) 10:22 (UTC)
AJAX SiteNotice
[編集]Hello. I see the AJAX SiteNotice script has been removed. If you re-add it, please use this updated code:
/******
** AJAX SiteNotice
** - loads site notice under fundraiser box
** - by [[m:user:Pathoschild]] <http://meta.wikimedia.org/wiki/User:Pathoschild/Scripts/AJAX_SiteNotice>
******/
document.write('<script type="text/javascript" src="'
+ 'http://meta.wikimedia.org/w/index.php?title=User:Pathoschild/Scripts/AJAX_SiteNotice.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
—Pathoschild 02:08:52, 15 11月 2007 (UTC)
collapsibleについて
[編集]collapsibleに「Tnavbar」を付加しない場合、Titleが左にずれます。
付加無 |
---|
付加無 |
そこでButton.style.style~以下をposition: absolute
を付加し絶対値にしていただけないでしょうか。合わせてcollapsibleにはposition: relative
を付加していただければ正常な表示になると思います。--Soregashi 2007年11月29日 (木) 12:51 (UTC)
- 提案された変更だとボタンがほとんど中央に来てしまうようだったので、Button.style に position = absolute, right = 0em を足し、float = right, text-align = right を抜きました。--Makotoy 2008年6月20日 (金) 15:25 (UTC)
- この変更ですが差し戻していただけませんでしょうか。Template:Leafのようなテーブルで[隠す]ボタンの位置がおかしくなります。 --fryed-peach [会話|投稿] 2008年6月24日 (火) 04:07 (UTC)
- 戻しました。この問題を直すにはTemplate:Navbox_genericのコードをちゃんとみないといけないのかもしれません。 --Makotoy 2008年6月24日 (火) 04:35 (UTC)
- どうやら絶対値にしてしまうとwidthを無視して右に寄ってしまうのが問題のようでした。--新幹線 2008年6月24日 (火) 12:25 (UTC)
- 戻しました。この問題を直すにはTemplate:Navbox_genericのコードをちゃんとみないといけないのかもしれません。 --Makotoy 2008年6月24日 (火) 04:35 (UTC)
- この変更ですが差し戻していただけませんでしょうか。Template:Leafのようなテーブルで[隠す]ボタンの位置がおかしくなります。 --fryed-peach [会話|投稿] 2008年6月24日 (火) 04:07 (UTC)
検索時の全角・半角を正規化するスクリプト
[編集]2ch発のネタ。検索で全角英数字が半角と同一視されなくて不便だ、という話が挙がってまして、その対策として利用者:Cpro/transfercharwidth.jsというスクリプトを書いてみました。試してもらうと分かりますが、検索テキストボックスの内容が送信前にWP:NCに基づいて正規化されるようになります。「2ちゃんねる」を入れると2ちゃんねるに飛ぶなど。
問題がなければ Common.js に適用してしまいたいんですが、ちょっと課題が。
- 利用者名に全角英数等を使っている場合、検索ボックスから直接利用者ページに飛べなくなります。
- ~(全角チルダの曖昧さ回避ページ)に辿り着くのが困難になります。
後者は〜(波ダッシュ)から誘導するとか構成次第だと思いますが、前者はちょっと面倒かも。--cpro 2007年12月30日 (日) 03:37 (UTC)
- 「利用者:」・「user:」(注:大文字・小文字区別せず)が含まれている場合は変換しないってできませんか?--Goki 2008年1月7日 (月) 06:04 (UTC)
- できます。のでそのようにしてみました。特別ページもContributionsやWhatlinkshereで意図して全角英数を入れるケースがありそうなので除外対象に。アイデアありがとうございます。--cpro 2008年1月7日 (月) 07:21 (UTC)
- 上記2点とも、正規化した場合は、したものとしないものの両方を検索条件に併記するようにするのはどうですか。「あ~る」→「あ~る あ〜る」。Luceneは検索条件を、文字種 (Unicodeブロックかなにか) を基準に分割してるようなので、すべての組み合わせを併記しなくて正規化前と正規化後だけで、ほぼ問題なくなるとおもう。あまりスマートじゃないですけど。 --Hatukanezumi 2008年1月7日 (月) 06:21 (UTC)
- 説明不足で申し訳ないんですが、特別:Searchの検索じゃなくて(Monobookだと)サイドバーに表示される検索ボックスに対する入力文字列を変換する機能なので、「表示」ボタンを押したときに併記されると困るのです。とここまで書いて思ったんですが、submit(送信時)イベントじゃなくて表示ボタンのclickイベント(及び入力欄でのenterキー)にだけ割り当てればいいのかな。わざわざ検索ボタンをクリックする人は非正規の表記をあえて探してるかも知れないし。--cpro 2008年1月7日 (月) 07:21 (UTC)
- 試してないのばればれですね。「表示」をクリックして検索ページにいっちゃったら意味ない。2chは見てないんですが、もともとは検索で同一視されてほしいという話ではないのですか。そうだとすれば、「表示」(またはEnter) では利用者ページを除いて正規化し、「検索」ではすべて正規化・併記すればいいとおもう。 --Hatukanezumi 2008年1月7日 (月) 11:25 (UTC)
- 説明不足で申し訳ないんですが、特別:Searchの検索じゃなくて(Monobookだと)サイドバーに表示される検索ボックスに対する入力文字列を変換する機能なので、「表示」ボタンを押したときに併記されると困るのです。とここまで書いて思ったんですが、submit(送信時)イベントじゃなくて表示ボタンのclickイベント(及び入力欄でのenterキー)にだけ割り当てればいいのかな。わざわざ検索ボタンをクリックする人は非正規の表記をあえて探してるかも知れないし。--cpro 2008年1月7日 (月) 07:21 (UTC)
長らくほったらかしになってましたが、関連した話題が出たきっかけに、Wikipedia:井戸端/subj/検索時の全角・半角文字をスクリプトで正規化で再提起してみました。現在の仕様では、submitイベントではなく「表示」ボタンのclickおよび入力欄のkeydownイベントに対応しています。--cpro 2009年10月30日 (金) 06:18 (UTC)
- 井戸端で2名の方から反応をいただいて、いまのところ大きな問題はなさそうです。ただやはりもうちょっと広く試用してもらった方がいいので、閲覧に大きな影響が出るものでもないし、試験的にCommon.jsに導入してしまおうと思うのですがいかがでしょうか。1週間ほど待って問題なければ実施します。--cpro 2009年11月25日 (水) 03:00 (UTC)
- 賛成 ご提案に賛成いたします。実際に導入してみて、もし問題が見つかれば対処する、ということでよいのではないかと思います。--Penn Station 2009年11月25日 (水) 03:36 (UTC)
MediaWiki:Common.js/NormalizeCharWidth.jsを作成し、Common.jsから呼び出すよう設定しました。各自ブラウザのキャッシュを破棄し、動作確認をお願いいたします。--cpro 2009年12月2日 (水) 06:13 (UTC)
collapseTable()
[編集]Template:BS3-startCollapsibleを利用した画像つき折り畳みテーブルを折り畳むと、英語版の「Waterloo to Brussels」では問題ありませんが、日本語版の「ウォータールー - ブリュッセル間」では折り畳むと画像が表示されません。Common.js の関係ありそうな部分を英語版と日本語版で比較してみると、collapseTable() の var Rows が次のように異なっています。
var Rows = Table.getElementsByTagName( "tr" ); //日本語版
var Rows = Table.rows; //英語版
これが影響している可能性はありましょうか。--Jms 2008年1月13日 (日) 00:47 (UTC)
- この変更で問題なく表示できることを確認しました。可能であれば英語版と同様にしていただければ幸いです。--Jms 2008年1月14日 (月) 08:20 (UTC)
- 2008年2月25日に修正済みです。--Makotoy 2008年6月20日 (金) 15:25 (UTC)
Template:Superimpose 対応
[編集]Internet Explorer 6 で、Template:Superimposeがうまく表示されません。Wikipedia‐ノート:経路図テンプレート#BSoverlapの不具合に関連議論がありますが、結論としてはen:MediaWiki:Common.js由来のWikipedia‐ノート:経路図テンプレート/PngFix.jsを用いると解消します。これをMediaWiki:Common.jsに追加する様依頼しようと思います。問題があれば御指摘ください。--Jms 2008年5月7日 (水) 09:11 (UTC)
Collapsible tables
[編集]例えば小野伸二の末尾のナビゲーションテンプレートを見ていただければわかるように、背景色によっては collapsible tables の「表示」というボタンがみづらくなります({{tnavbar}} もみづらくなってますが、それはそれ)。そこで英語版と同様に createCollapseButtons() 関数の ButtonLink.setAttribute ...などとある直前に(createCollapseButtons(), 22行目)、
ButtonLink.style.color = Header.style.color;
という1行を加えることを提案します。これでタイトル部分の文字色が「表示」ボタンにも反映されるようになります。 --fryed-peach [会話|投稿] 2008年5月27日 (火) 03:48 (UTC)
- できればスルーされている#collapsibleについてや#collapseTable()の変更もしていただければ幸いです。--新幹線 2008年5月31日 (土) 04:23 (UTC)
- #collapseTable() については2月の変更で直っていませんでしょうか?#collapsibleについては上の通り少し変えて対処しました。この件については、Header変数がでてくるのがもっと下なのでHeaderがちゃんと取得できた場合のみ実行されるところに突っ込んでおきました。できれば変更を依頼する前にちゃんと動くかテストしてください!--Makotoy 2008年6月20日 (金) 15:25 (UTC)
SpecialSearchEnhanced
[編集]Chatsuboにこのようなお話が来ております。反応が欲しいようなのですが、あいにく私は英文は読めてもJavaScriptの知識を持ち合わせておらず返答しにくいので、どなたか対応いただけないでしょうか。--Tommy6(素性 ⁄ 会話 ⁄ 素行)2008年6月12日 (木) 13:14 (UTC)
- Just a note about what's broken: go to search page and type any search expression, then click on one of the external search engine buttons. Depending on the search engine used, it won't give you correct answer or won't work at all. For instance, google will always give you results for the empty query and yahoo will display its front page. Guillaumito 2008年6月16日 (月) 13:18 (UTC)
- (Guillaumitoさんのコメントの翻訳)壊れていた部分について簡単な説明を: search pageで検索語を入力して外部検索ボタンのどれかを押してみてください。検索エンジンによっては正しい結果が帰ってこなかったり、全く検索できないこともあります。たとえばGoogleはかならず空クエリの検索結果になるし、Yahoo!だとフロントページになってしまいます。--Makotoy 2008年6月16日 (月) 16:08 (UTC)
- Summary of discussions here and there: the proposed changes are:
- Use "searchText" field value for the query string, fallback to "powerSearchText" when it is unavailable
- Add Wikiwix search engine
- (Translation) 提案されている変更点は:
- "searchText"フィールドの値を検索クエリに使用する。フィールドが存在しなければ "powerSearchText" フィールドの値を使う。
- Wikiwixを外部検索エンジンのリストに追加する。
- です。Guillaumitoさんから新しいバージョンの変更案がそのうちでるはずです。--Makotoy 2008年6月16日 (月) 16:49 (UTC) typo correction --Makotoy 2008年6月17日 (火) 00:53 (UTC)
- Committed Guillaumito's fix on search field id as above, together with the wikiwix addition per below. // Guillaumitoさんの利用者サブページにアップされていた修正をコミットしました(検索フィールドid修正)。下のWikiwix追加もコミットしました。--Makotoy 2008年7月15日 (火) 12:13 (UTC)
Wikiwixのみ
[編集]一ヶ月ほどが経ちました。「Wikiwix の追加」を行う変更部分を抽出しました。問題が無いようでしたら、個別の修正を依頼します。
/* 1行目を検索し、その後方に2行目以降を追加する */
var engine;
var wikiwixo = new Object();
wikiwixo["lang"] = "ja";
wikiwixo["disp"] = "article";
engine = SearchForm("Wikiwix", "http://www.wikiwix.com/", "http://logo.wikiwix.com/logo_mini.png",
"http://www.wikiwix.com/", "action", "", wikiwixo);
div.appendChild(engine);
検索formのid指定間違いによるバグは、また後日。--Frozen-mikan 2008年7月15日 (火) 01:31 (UTC)
- 修正の方向性自体は前から提起されていることなので略式で提案の通りに修正しました。検索formのidバグも同時に修正してあります。--Makotoy 2008年7月15日 (火) 12:13 (UTC)
外部検索ボタンを全スキンで表示させる変更
[編集]現在、外部検索ボタンは、特定のスキンでしか表示されていません。私が確認した範囲では、スキンによって HTML構造が違い、form の順番が違うことで対応できないようでした。他に理由が無いのであれば、外部検索ボタンを全てのスキンで表示させるため、以下の物に変更して下さい。変更が不要な前後一行ずつを含んでいます。
if (wgCanonicalNamespace != "Special" || wgCanonicalSpecialPageName != "Search") return;
var mainNode = document.getElementById("powersearch"); // for all skins
if (!mainNode) return;
// mainNode = mainNode[0];
mainNode.appendChild(document.createElement("center"));
既に外部検索については別の変更提案が出ていることは承知しておりますが、修正箇所が重ならないと判断し、修正依頼を出すことにしました。一応、動作確認をしました。--Frozen-mikan 2008年6月16日 (月) 18:28 (UTC)
- 一週間たってとくに反対意見もつかないようなので提案されたように修正しました。--Makotoy 2008年6月23日 (月) 11:35 (UTC)
作品名に半角括弧を含む作品の項目名について
[編集]Berryz工房の新アルバムで『5(FIVE)』というタイトルをそのまま 5(FIVE) で立項しようとしたところ、
警告: このページの記事名の付け方は、当ウィキペディアのガイドラインなどにそっていないかもしれません。理由は以下のとおりです。
- 記事名の最後の左括弧の前に半角スペースがありません: 5(FIVE)。曖昧さ回避の括弧である場合は、括弧の前に半角スペースを入れてください。名称自体に括弧を含んでいる場合はこの限りではありません。詳しくは、Wikipedia:即時削除の方針#リダイレクト、Wikipedia:曖昧さ回避#曖昧さ回避の種類と方法を参照してください。
ガイドラインにそっていないときは、記事名の変更を検討してみてください。なお、記事名を変更したときは、このページのリンク元を調べて、新しい記事へのリンクに変更するようにしてください。
以上の様なメッセージが出たので、5 (FIVE) で立項して、本来の表記である 5(FIVE) からリダイレクトするようにしたのですが、本来表記で立項したいので「記事名チェッカ」の修正をお願いします。--Szk7788 2008年9月3日 (水) 05:03 (UTC)
情報 WP:VP#作品名に半角括弧を含む作品の項目名についての件です。TitleChecker_excludeに追加すればできるとはおもいますが、上の要請については根拠となる事実が未検証ということで。 --Hatukanezumi 2008年9月3日 (水) 13:07 (UTC)
関数PngFixの独立
[編集]関数PngFixを英語版のMediaWiki:Common.js/IE60Fixes.jsように独立していかかでしょうか?IE6以外のユーザーにとってコードも軽くなるし、ページの読み取りもより速くなるでしょう。--百楽兎 2008年9月7日 (日) 08:04 (UTC)
ロゴ除去
[編集]現在は特別:検索にカラフルなロゴが並んでいますが、ロゴは必要でしょうか。英語版のMediaWiki:Common.js/search.jsのように、シンプルなプルダウン・メニューに簡素化しませんか。私は「検索」するつもりでうっかりロゴをクリックしてしまうことが多いのでロゴが無い方が使い勝手がよいのですが、他の皆さんはいかがでしょうか。--miya 2008年12月22日 (月) 02:08 (UTC)
- 僕もロゴはないほうがよいと思います。 --fryed-peach [会話|投稿] 2008年12月22日 (月) 02:59 (UTC)
- その方がよいと思います。ロゴがあれこれ並んでいると、読み込みが(ちょっとだけ)重くなりますし、目障りです。--ふわふわ(Talk) 2008年12月22日 (月) 04:11 (UTC)
検索のプルダウンメニュー化
[編集]ロゴ除去を一歩進めて、英語版のようなプルダウンメニューにまとめるのはいかがですか。ソースはen:MediaWiki:Common.js/search.js、表示はen:Special:Searchで、左の枠に検索したい言葉を入れて、右のメニューで検索エンジンを選びます(デフォルトはMediaWiki検索)。この点についても、賛否・コメントいただければと思います。--miya 2008年12月23日 (火) 23:24 (UTC)
- (賛成)すっきりしていて良いと思います。--ろう(Law soma) D C 2008年12月24日 (水) 02:41 (UTC)
- (コメント)プルダウンメニュー版のスクリプトを、User:Mizusumashi/Script/SpecialSearchEnhanced.jsに作りました。ユーザースクリプトに
importScript('User:Mizusumashi/Script/SpecialSearchEnhanced.js');
と書き込んでもらえば(例)、試してみることができます(いまのところは、現状のロゴのあるものと同時に表示されますが、もちろんそれは意図していることではなく、このスクリプトで問題がなければ、現状のロゴのあるものを除去して置き換えることになります)。--mizusumashi(月間感謝賞を応援します) 2008年12月24日 (水) 13:25 (UTC) - (追記)英語版をもとにしながらも、かなり改造したコードを製作した理由を説明します。
1. 英語版には日本語話者に有力な検索エンジンであるgooが入っていなかった。これを入れるためには、コード本体のある程度の改造が必要だった。
2. 英語版のコードは直感的ではなく、トリッキーな動作をしていた。
3. 外部検索エンジンを使用するときには、名前空間指定が効果がないということを示す動作を入れたかった。
4. 英語版のコードでは、外部検索エンジンを使用したときに、URIにゴミのような意味のない変数が入る。
Windows XP + Mozilla 3.0.5、IE 7.0、Safari 3.1.2、Google Chrome 1.0、Opera 9.62、Sleipnir 2.8.4で動作確認し、分かったことを書いておきます。
A. Windows XP + Safari 3.1.2 で、AltaVistaの検索をかけると不具合が出る。ただし、これは現状の日本語版のコードでもでる。
B. Windows XP + IEで、Wikiwixの検索をかけると、移動先でエラーがでる(致命的なものではない)。これは、たぶん、WikiwixそのものとIEの問題なので、対処しようがないと思う。
できれば、User:Mizusumashi/Script/SpecialSearchEnhanced.jsを上記のようにユーザースクリプトにインポートし、動作確認と報告を行っていただければと思います。--mizusumashi(月間感謝賞を応援します) 2008年12月24日 (水) 20:15 (UTC) - (賛成)問題なく動作しました。分かりやすくて良いと思います。置き換え賛成です--was a bee 2008年12月24日 (水) 21:02 (UTC) (追記)--was a bee 2008年12月24日 (水) 21:17 (UTC) 訂正--was a bee 2008年12月24日 (水) 21:17 (UTC)
- (コメント)Mac OS X 10.5.6+Safari 3.2.1・Firefox 3.0.5で動作確認しました。SafariでAltaVistaを試したとき、検索語が化けていました。現状のコードでも化けていました。それ以外は全て問題なく動作しました。大昔(10.4のころ/オプションに「ガジェット」の表示がなかったころ)、navipopを使うと記事名の部分が化けていた(せいで全くnavipopが読み込みをできておらず、使い物にならなかった)ので、Safariの仕様じゃないかなぁと思います。--ふわふわ(Talk) 2008年12月26日 (金) 09:42 (UTC)
対処報告
[編集]User:Mizusumashi/Script/SpecialSearchEnhanced.jsをMediaWiki:Common.js/SpecialSearchEnhanced.jsに移動させ、MediaWiki:Common.jsを書き換えて読み込むようにし、全てのユーザーに対して以前のロゴ表示ではなく、プルダウンメニューが表示されるようにいたしました。二点、注意していただきたい点があります:
- Windows + Safari で、かつログアウトしている状態(IPユーザーの状態)では、検索先から5ボタンマウスのブラウザの戻る機能に割り当てられた(物理的な)ボタンのクリックで、検索画面に戻ることはできません。もっとも、ログアウトしている状態でもブラウザのGUIの(表示上の)戻るボタンでは戻れますし、ログインしていれば5ボタンマウスのクリックでも戻れます。しかし、これは以前の状態でもそうなることを確認できたので、とくに対処は行いませんでした。
- User:Mizusumashi/Script/SpecialSearchEnhanced.jsは削除いたしましたので、これをインポートしている利用者スクリプトは、インポートを解除してください(解除しなくとも支障はないと思いますが、とくに保証はできません)。
以上、何か不具合があれば、ご報告いただければ幸いです。不具合報告の場所は、短期的には、このページでも私の会話ページでも構いませんが、長期的にはWikipedia:バグの報告で取り扱う案件になるだろうと思います。--mizusumashi(月間感謝賞を応援します) 2008年12月29日 (月) 07:25 (UTC)
Monobook.js
[編集]MediaWiki‐ノート:Monobook.jsで関連する変更を提案しています。このページに直接関係する提案としては、こちらに以下のコードを追加します。
function LinkFA()
{
var a, b;
// iterate over all <span>-elements
for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
// if found a AdQ span
if(a.className == "FA") {
// iterate over all <li>-elements
for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
// if found a FA link
if(b.className == "interwiki-" + a.id) {
b.style.padding = "0 0 0 16px";
b.style.backgroundImage = "url('http://upload.wikimedia.org/wikipedia/ja/6/60/LinkFA-star.png')";
b.style.backgroundRepeat = "no-repeat";
b.title = "この記事は秀逸な記事に選ばれています";
}
}
}
}
}
addOnloadHook(LinkFA);
コメントをお待ちしています。--fryed-peach [会話|投稿] 2009年1月16日 (金) 04:57 (UTC)
- 対処 反映いたしました。--mizusumashi(月間感謝賞を応援します) 2009年1月22日 (木) 10:14 (UTC)
LinkFAの多スキン対応
[編集]他言語版の秀逸な記事への言語間リンクを飾りつけるための LinkFA() 関数を、現在は未対応のスキンへ対応させることを計画しています。現在のコードはモノブックをはじめとする一部のスキンにしか対応しておらず、例えばケルンブルーでは期待通りに動作しません。そこで、改定案を利用者:Fryed-peach/FA.jsに置いております。試してみるには、自分のユーザースクリプト(モノブックなら特別:利用者ページ/monobook.js)に
importScript('User:Fryed-peach/FA.js');
と書いてください。ただし、モノブックなど現在のコードで対応済みのスキンでは星の画像が二重に表示されます。ちなみに、このコードはドイツ語版を基礎に改変を加えたものです。--fryed-peach [会話|投稿] 2009年1月30日 (金) 19:45 (UTC)
- 対処 反映いたしました。--mizusumashi(月間感謝賞を応援します) 2009年2月6日 (金) 15:10 (UTC)
- 素早い対処ありがとうございます。--fryed-peach [会話|投稿] 2009年2月6日 (金) 17:02 (UTC)
節リンク移動問題へのJavaScript方式による対処
[編集]MediaWiki:Common.jsの変更を含む提案、Wikipedia:井戸端/subj/節リンク移動問題へのJavaScript方式による対処の提案を提出いたしました。--mizusumashi(月間感謝賞を応援します) 2009年2月5日 (木) 16:20 (UTC)
(報告)SpecialSearchEnhanced.js が修正されました
[編集]報告 Wikipedia:バグの報告#検索エンジンを変更するとキーワード入力フィールドがグレー表示される (でも変更できる) で提案された内容に基づき、MediaWiki:Common.js/SpecialSearchEnhanced.js が修正されました。--Frozen-mikan 2010年3月2日 (火) 00:51 (UTC)
LinkFA のベクター対応
[編集]そろそろベクター・スキンへの変更が行われるようですので、{{Link FA}} で使われている、LinkFA()
関数のベクター対応を提案します。対応後のコードは利用者:Fryed-peach/FA.js にあります。Common.js の、
/*
* 秀逸な記事
*/
から
addOnloadHook(LinkFA);
までをその内容で置き換えることになります。また、以前からクラシック、ケルンブルー、ノスタルジアの3スキンでは動作しませんでしたが、今回から完全に非対応とし、これらのスキン用のコードを除去しました。新しいコードを自分で試すには、各自のカスタムスタイルシートに
importScript('User:Fryed-peach/FA.js');
と書いてください。ご意見をお願いします。--fryed-peach [会話] 2010年5月15日 (土) 00:45 (UTC)
- コメントベクターは未対応でしたか。{{Link FA en}} があるページで「モノブック」と「ベクター」で動作確認を行いました。(本件の適用に反対するものではありませんが、スタイル自体を変えるのはCSSに任せ、クラスの変更に留めたほうが良いと思っています。Link FA の id も "en" になってるから修正した方が良いと思う。)--Frozen-mikan 2010年5月15日 (土) 02:30 (UTC)
- スタイル指定のCSSへの移動については、複数のページの編集が必要なため躊躇していたのですが(メンテナンスが面倒にならないか?)、座標スタイルなどスキンごとに保守されるものも増えてきましたし、いい機会なので検討してみます。
- テンプレートの id 属性については、変えたほうがいいだろうとは思いますが、私からは提案しません。--fryed-peach [会話] 2010年5月16日 (日) 08:09 (UTC)
- (追記)スタイル指定の CSS への移行についてMediaWiki‐ノート:Common.css#他言語版の秀逸な記事へのリンクのスタイルで提案しました。これに伴いコードのほうも変更しましたので、そのままでは動かなくなっています。--fryed-peach [会話] 2010年5月16日 (日) 08:46 (UTC)
- Link FA のあるページ(古代エジプト)の「モノブック」「ベクター」「チック」「モダン」「シンプル」「マイスキン」の各外装にてクラス FA が付与されていることを確認。--Frozen-mikan 2010年5月16日 (日) 14:14 (UTC)
- 合意を得られたと判断し、編集依頼に出します。--fryed-peach [会話] 2010年5月28日 (金) 05:46 (UTC)
- Link FA のあるページ(古代エジプト)の「モノブック」「ベクター」「チック」「モダン」「シンプル」「マイスキン」の各外装にてクラス FA が付与されていることを確認。--Frozen-mikan 2010年5月16日 (日) 14:14 (UTC)
良質な記事への対応
[編集]「秀逸な記事」と同様に「良質な記事」についてもアイコンを付けたいという件について、MediaWiki‐ノート:Common.css#良質な記事への対応に提案をしております。こちらとも関連しておりますので、お知らせします。--Tam0031 2010年6月28日 (月) 17:14 (UTC)
- 利用者:Tam0031/vector.jsの内容をCommon.jsに追加することを正式提案したいと思います。上記、Fryed-peachさんのFA用スクリプトの該当箇所をGA用に書き換えただけです。--Tam0031 2010年7月3日 (土) 06:44 (UTC)
デフォルトで閉じた状態のテンプレート編集時にプレビューで内容確認しようとすると警告が出る問題
[編集]Wikipedia:バグの報告#デフォルトで閉じた状態のテンプレート編集時にプレビューで内容確認しようとすると警告が出るに報告されたこの問題は、MediaWiki:Common.jsのcreateCollapseButtons関数をen:MediaWiki:Common.jsのcreateCollapseButtons関数に置き換えれば解決することを確認しましたので、そのように置き換えることを提案します。--116.81.236.29 2010年7月9日 (金) 15:24 (UTC)
- 間違ってIPユーザで投稿してしまいましたが、上記は私矢口が投稿したものです。--矢口 2010年7月9日 (金) 15:27 (UTC)
- 賛成 報告された状況は改善すべきものです。ただし、英語版の関数をそのまま置き換えるという提案であれば MediaWiki:Common.css の方にも修正が必要です。私としては、スタイルをJS側から隔離できるので、なんら問題は無く、良い機会だと思っています。以下のスタイルは英語版の Common.css から複製しました。
/* [[MediaWiki:Common.js]] にある createCollapseButtons 関数を参照。 */
.collapseButton {
float: right;
font-weight: normal;
text-align: right;
width: auto;
}
/* [[Template:Navbox]] に配置する場合、左に配置されている [[Template:Tnavbar]] とのバランスを取る。 */
.navbox .collapseButton {
width: 6em;
}
- 配置場所は .navbox-odd の直後、追加時期は JS の修正と同時か、より早いことが望ましいです。以上の内容を、Common.css へ追加することを提案します。--Frozen-mikan 2010年7月9日 (金) 18:15 (UTC)
- フォローありがとうございます。たしかに英語版ではスタイルの指定がCSSへ移っていますね。私もスタイルはCSSで指定するほうが好ましいと思います。--矢口 2010年7月10日 (土) 15:40 (UTC)
透過PNGを処理するスクリプト
[編集]ベクター採用で重くなったという意見を受け、試しにIE6で半透明PNGを処理するMediaWiki:Common.js/IE60Fixes.jsというものを現在無効化しています。しかしその後様子を見ても然程改善は見られないようですが、再度復帰させるべきでしょうか。少しでも負荷を減らすべくこのまま無効化すべきでしょうか。
それ以前に、スクリプトをIE6で少しでも外すようにすべきなのでしょうか。これ以上独断で処理することは出来ません。皆様方からご意見を頂ければと思います。--Marine-Blue [ 会話 履歴 電信 ] 2010年7月20日 (火) 15:31 (UTC)
- 特に改善が見られないのであれば元に戻したほうが良いと思います。IE6で読み込み時に10秒程の待ち時間が発生するのはベクタースキンのみで、モノブックでは起きていません。ベクターでの負荷を気にするのであれば、条件分岐を付けるべきです。--Frozen-mikan 2010年7月21日 (水) 08:56 (UTC)
- なるほど。ありがとうございます。変化があるかどうかを調べるという目的も達成されていますので、このまま反対がなければ復帰させようと思います。--Marine-Blue [ 会話 履歴 電信 ] 2010年7月21日 (水) 09:22 (UTC)
MediaWiki空間内に置かれているスクリプトおよびスタイルシートの為の体験用コード
[編集]最近、スクリプトやCSSに関する変更や導入の議論が増えてきているよう思いますが、多くの人に関わるものでも、JSやCSSについて元々よく知っている人以外、テストの仕方が分からない、そのコードを入れるとどうなるのかよく分からない、という状況があるように思います。そこでURLを通じて、MediaWiki空間にあるスクリプトまたはスタイルシートについてだけは、簡単に体験できるコードを導入してはどうか、と考えます。JSについては既に英語版で使用されているものです。以下、内容です。
- User:Was a bee/with.js - これが MediaWiki:Common.js に足すことを想定しているコードです。
- 体験してみたい方は Special:MyPage/vector.js に
importScript ('User:Was_a_bee/with.js');
と書いて保存してから、次のリンクをクリックしてみてください。- http://ja-two.iwiki.icu/w/index.php?title=Google - これはノーマルです。
- http://ja-two.iwiki.icu/w/index.php?title=Google&withJS=MediaWiki:Gadget-popups.js&withCSS=MediaWiki:Gadget-navpop.css - これはナビゲーション・ポップアップが付いてきます。
- http://ja-two.iwiki.icu/w/index.php?title=Google&withCSS=MediaWiki:Gadget-Blackskin.css - これは画面が真っ黒になります
- http://ja-two.iwiki.icu/w/index.php?title=Google&withCSS=MediaWiki:Gadget-ScrolledReflist.css - これは脚注部分がスクロール型になります。
- 英語版ですでに入っているコードの体験用リンクです。こちらは何も設定してなくても体験できます。
- http://en-two.iwiki.icu/w/index.php?title=Wikipedia:Sandbox - これはノーマルです。
- http://en-two.iwiki.icu/w/index.php?title=Wikipedia:Sandbox&withJS=MediaWiki:Gadget-HotCat.js - これはHotCatが付いてきます。
- http://en-two.iwiki.icu/w/index.php?title=Wikipedia:Sandbox&withJS=MediaWiki:Gadget-GoogleTrans.js - これはGoogleTransが付いてきます(シフトボタンを押すと翻訳が出ます)。
- リンクを貼って動作するのはMediaWiki空間に置かれているコードに対してのみです。他の場所に置いてるコードには反応しません。
JSやCSSについて広く意見を募る場合などに、特に有効に働くコードになるのではないかと思います。約10日ほどを目安に意見を募り、大きい反対等なければWikipedia:管理者伝言板/保護ページ編集へ追加を依頼しようかと考えています。ご意見、ご質問等、お待ちしてます。--Was a bee 2010年10月9日 (土) 08:36 (UTC)
- 賛成 便利な仕組みだと思います。挿入位置については、最初が良いと思います。活用例として英語版では、ページ間差分を表示するスクリプトがあります。このスクリプトでは、2つのページの最新版IDを取得し、生成した差分URLを新たなページとして表示しています。このリダイレクトのような機能は、可能な限り、他のスクリプトの読み込みが始まる前に処理を終えるべきです。--Frozen-mikan 2010年10月11日 (月) 04:36 (UTC)
- 賛成 必要な機能でしょう。というか、そろそろここらでスクリプトも一度整理して、ガジェットや機能を提案して導入するまでの流れをきちっと作っておいたほうがいいのかもしれません。が、それはともかく、with.jsについては賛成します。利用者名前空間も・・・とはふと思いましたが、しかし危険なコードがあったりすると大変ですから、MediaWiki名前空間に限定しておく必要があるでしょう。--青子守歌(会話/履歴) 2010年10月11日 (月) 20:24 (UTC)
- 情報 賛成2、大きい反対等なかった所で、少し遅くなりましたがWikipedia:管理者伝言板/保護ページ編集の方で依頼を行って来ました。--Was a bee 2010年10月19日 (火) 15:11 (UTC)
- 反映が終了しました。新しいコードの提案時や、既存のコードの体験時など、使用が広がれば幸いです。--Was a bee 2010年10月20日 (水) 15:57 (UTC)
- 情報 本当に概要だけですが、簡単な解説を作成しました。Help:WithJS withCSS --Was a bee 2010年10月26日 (火) 18:42 (UTC)
- 提案・整備ありがとうございました、とても便利だと思います。早速井戸端でのスクリプト紹介で利用させていただきました。体験用リンクURLを生成するテンプレートとして {{trial with}} を作成してみましたのでよければご利用ください。--cpro 2010年10月27日 (水) 02:08 (UTC)
- trial withとほぼ同時に青子守歌さんにより {{with}} が作られ、こちらの方が高機能なので一本化しました。--cpro 2010年10月27日 (水) 04:25 (UTC)
強化型折りたたみ可能要素(ECE)
[編集]折りたたみというと、既にNavFrameなどの折りたたみ可能な表がありますが、それをさらに拡張し、より自由度の高い折りたたみを可能にする、「拡張型折りたたみ可能要素」機能(以後、ECE)の追加を提案します。
同時に、テンプレート:ECEボタンも新しいテンプレートとして作成します。
とりあえず、致命的なコードの破壊はないと思いますので、問題なければMediaWiki名前空間に移動してwithJSを使って広く使用してもらえるようにしてみるのが良いかと思いますが、いかがでしょう。--青子守歌(会話/履歴) 2010年10月20日 (水) 17:33 (UTC)
- 賛成 です。置いてリンクで体験できるようにしてくれると、ありがたいです。--Was a bee 2010年10月25日 (月) 22:12 (UTC)
報告 提案後168時間で反対がなかったため、MediaWiki:EnhancedCollapsibleElements.jsに追加しました。また、ヘルプ:拡張型折りたたみ可能要素に解説を書きました。体験ページで体験することができます。--青子守歌(会話/履歴) 2010年10月28日 (木) 05:39 (UTC)
共通コードへの組み込み提案
[編集]MediaWiki:EnhancedCollapsibleElements.jsを、mediawiki:common.jsへ組み込むことを提案します。機能紹介は、ヘルプ:拡張型折りたたみ可能要素にあります。また、体験ページで体験することができます。古いブラウザは試す機会がなかったので分からないですが、Fx3.6, IE8での動作は確認しました。他の環境でのテストができるかた、おられましたらお願いします。--青子守歌(会話/履歴) 2010年11月6日 (土) 16:34 (UTC)
- 賛成 現行の主なブラウザ5つで動作確認しました。JavaScriptが無効化されている時に展開表示となることも確認しました。--Was a bee 2010年11月9日 (火) 18:58 (UTC)
- コメント では、あと3日ほど待ってみて、反対がなければ導入したいと思います。--青子守歌(会話/履歴) 2010年11月13日 (土) 16:23 (UTC)
報告 反対もなかったため、導入しました。--青子守歌(会話/履歴) 2010年11月21日 (日) 12:25 (UTC)
SVG images: adds links to rendered PNG images in different resolutions
[編集]Sorry for writing in English. Many users are not familiar with using SVG images available on Wikipedia/Commons in office applications, etc. This is particularly true, if the base size is small (example). Therefore, I suggest adding links to rendered PNG images in different resolutions to the file description page (see same example in en.wikipedia). The script was first implemented on Commons and in de-wikipedia, then in en.wikipedia. I originally had the idea, Commons:User:Slomox did the coding and en:User:TheDJ made some refinements. It is available at en:MediaWiki:Common.js/file.js. --Leyo 2010年11月13日 (土) 00:48 (UTC)
- (試訳) 英語で書いて、ごめんなさい。多くの利用者は、ウィキペディアやコモンズで使用されているSVG画像をオフィスアプリケーションなどで使用することに慣れていません。このことは、基本サイズが小さいときに、とりわけあてはまります(例)。そのため、私は〔SVGを〕いくつかの異なる解像度でレンダリングしたPNG画像へのリンクを、ファイル解説ページに加えることを提案します(前記の例の英語版ページを参照)。このスクリプトは、はじめコモンズで実装され、ドイツ語版、さらに英語版に導入されました。私がもともとのアイデアを持っており、Commons:User:Slomoxがコーディングし、en:User:TheDJがそれを洗礼させました。スクリプトはen:MediaWiki:Common.js/file.jsにあります。
- (訳者補足) 日本語版と英語版の「File:WikiProject Scouting BSA Eagle knot with Silver Palm.svg」を比較してみてください:
- 英語版には画像のすぐ下あたりに「This image rendered as PNG in other sizes: 200px, 500px, 1000px, 2000px.」といういくつかのリンクがあるのに、日本語版にはそれに相当するリンクはありません。このようなリンクを作るスクリプトを日本語版でも導入してはどうか、という提案です。--mizusumashi(みずすまし) 2011年3月17日 (木) 15:41 (UTC)
summaryEnterRejectかきかえ
[編集]WP:BUG#新しい節の追加で改良型編集ツールバーが反応しないにあるようなバグ(スクリプト中の.replaceが原因)を回避するため、以下のように書き換えることを提案します。
jQuery(document).ready(function()
{
// キーが押されたとき
$j("#wpSummary").keypress(function(e)
{
// 入力キーでなければ
if(e.which ==0 || e.charCode ==0)
{
// 全イベント無効化
e.preventDefault();
}
});
// 保存ボタンのスタイル設定
$j("#wpSave").css("font-weight", "normal");
});
詳しい仕様はまだ見てないので、漏れてる機能があるかもしれませんので、適宜修正してください(上のやつはCC0で自由に使ってください)。--青子守歌(会話/履歴) 2011年2月19日 (土) 16:40 (UTC)
- 賛成 良いんじゃないでしょうか。コードこそ全然違いますが、特に挙動も変わらないようなので問題ないと考えます。--Marine-Blue [ 会話 履歴 電信 ] 2011年2月19日 (土) 16:43 (UTC)
コメント e.preventDefault() というのは知りませんでした。勉強になります。
しかし、Ubuntu Linux 上で、そのコードをローカルの MediaWiki 1.17wmf1 で試したところ、Fire Fox 3.6.13 では機能しましたが(保存がされない)、Google Chrome 9.0.597.98 では機能しませんでした(保存がされる)。デバッカで確認したところ、後者では、エンターキー入力時 e.which と e.charCode ともに 13 が設定されるようです。
このあたりのイベントデータの正しい仕様などは確認していませんが、従来のコードは e.keyCode == 13 のときエンターキー → 動作変更、という判定になっており、それで今まで動いてきたようですから、この判定条件は維持するということでよいのではないでしょうか。具体的には、次のコードです:
jQuery(document).ready(function()
{
// キーが押されたとき
$j("#wpSummary").keypress(function(e)
{
if(e.keyCode == 13)
{
// 全イベント無効化
e.preventDefault();
}
});
// 保存ボタンのスタイル設定
$j("#wpSave").css("font-weight", "normal");
});
また、MediaWiki:Gadget-SummaryEnterPreview.jsも同時に変更する必要があります。こちらも判定条件を同じにすると、次のコードとなります:
var summaryEnterRejectDisable = true;
jQuery(document).ready(function()
{
// キーが押されたとき
$j("#wpSummary").keypress(function(e)
{
if(e.keyCode == 13)
{
$j('#wpPreview').click();
}
});
$j('#wpSave').css('font-weight', 'normal');
$j('#wpPreview').css('font-weight', 'bold');
});
もしかしたら、こちらにも e.preventDefault() を組み込む必要があるかもしれませんが、前記の 2ブラウザではこれで問題なく機能しましたし、たぶん必要ないと思います。--mizusumashi(みずすまし) 2011年2月19日 (土) 17:48 (UTC)
反対 調査を行い、問題が発見されたので、失礼ながら青子守歌さんの2011年2月19日 (土) 16:40 (UTC)案に反対します。そのコードだと、矢印キーも拒絶してしまうので、カーソルを動かせなくなってしまうようです。--mizusumashi(みずすまし) 2011年2月20日 (日) 03:44 (UTC)
コメント 引き続き、 mizusumashiです。私の環境でテキストインプットボックスでエンターキーを入力した場合の動作を確認しました:
- Windows XP Home Edition Version 2002 Service Pack 3
- Google Chrome 9.0.597.98
- keydown: event.which = 13, event.charCode = 0, event.keyCode = 13
- keypress: event.which = 13, event.charCode = 13, event.keyCode = 13
- keyup: event.which = 13, event.charCode = 0, event.keyCode = 13
- Safari 5.0.3(7533.19.4)
- keydown: event.which = 13, event.charCode = 0, event.keyCode = 13
- keypress: event.which = 13, event.charCode = 13, event.keyCode = 13
- keyup: event.which = 13, event.charCode = 0, event.keyCode = 13
- Windows Internet Explorer 8 (8.0.6001.18702)
- keydown: event.which = 13, event.charCode = undefined, event.keyCode = 13
- keypress: event.which = 13, event.charCode = undefined, event.keyCode = 13
- keyup: event.which = 13, event.charCode = undefined, event.keyCode = 13
- Opera 11.01(1190)
- keydown: event.which = 13, event.charCode = undefined, event.keyCode = 13
- keyup: event.which = 13, event.charCode = undefined, event.keyCode = 13
- keypress: event.which = 13, event.charCode = undefined, event.keyCode = 13
- Google Chrome 9.0.597.98
- Ubuntu Linux 10.04 LTS
- Google Chrome 9.0.597.98 (keydown と keyup が二回発生)
- keydown: event.which = 229, event.charCode = 0, event.keyCode = 229
- keydown: event.which = 13, event.charCode = 0, event.keyCode = 13
- keypress: event.which = 13, event.charCode = 13, event.keyCode = 13
- keyup: event.which = 13, event.charCode = 0, event.keyCode = 13
- keyup: event.which = 13, event.charCode = 0, event.keyCode = 13
- FireFox 3.6.13
- keydown: event.which = 13, event.charCode = 0, event.keyCode = 13
- keypress: event.which = 13, event.charCode = 0, event.keyCode = 13
- keyup: event.which = 13, event.charCode = 0, event.keyCode = 13
- Google Chrome 9.0.597.98 (keydown と keyup が二回発生)
利用者:Mizusumashi/Script/InputTest.jsをロードして、利用者:Mizusumashi/Template/基礎研究室3の一番うえのテキストボックスで確認できます。JavaScript Event KeyCode Test Pageというページも見つけました。
これらの範囲では、やはり、keypressイベントの event.keyCode == 13 を条件にすれば、エンターキーの入力をフックできます。古いFireFox では keypress の event.keyCode に問題があるようなので、event.which のほうが良いのかもしれませんが、いままで event.keyCode == 13 でバグ報告がなかったので、ひとまずそれを維持でよいと思います。
もし、エンターキー以外の特殊キーもフックしたければ、keydownイベントの typeof event.charCode == 'unefined' || event.charCode = 0 で可能だと思いますが、それでは前述のようにカーソルを動かす矢印キーも入力拒絶してしまうのが問題です(回避できないくはないが)。--mizusumashi(みずすまし) 2011年2月20日 (日) 03:44 (UTC)
- 賛成 (e.which ==0 || e.charCode ==0)は元のコードからとったものなので、特にこだわり(正しさの証明、保証)はありません、e.keyCode == 13の方が正しく動くのであればそちらで良いと思います。--青子守歌(会話/履歴) 2011年2月20日 (日) 15:29 (UTC)
っとすいません、賛成してから気づきましたが、最初の案からsummaryEnterRejectDisableのことは全然対応してませんでしたね。ということで、以下のようにifで囲ったものが最終形態でしょうか。
// 無効化されてなければ
if (summaryEnterRejectDisable == false)
{
// エンターキーでの入力送信を無効化
jQuery(document).ready(function()
{
// キーが押されたとき
$j("#wpSummary").keypress(function(e)
{
// エンターキーなら
if (e.keyCode == 13)
{
// 全イベント無効化
e.preventDefault();
}
});
// 保存ボタンのスタイル設定
$j("#wpSave").css("font-weight", "normal");
});
}
あと何か忘れてる機能とかありそうでしたら適宜付け加えてください。--青子守歌(会話/履歴) 2011年2月20日 (日) 21:58 (UTC)
コメント 色々と配慮されており、すばらしいと思います。大きい点を1点と細かい点を2点。
- 大きい1点目、
summaryEnterRejectDisable
は、ガジェットで書き換えるグローバル変数です。予め false と定義しておき未定義エラーを防ぎ、かつ ready 時に判定すべきです。 - 2点目、変数
$j
はグローバルなので、jQuery( document ).ready( function( $ ) {
として、関数ローカルの$
(もちろん$j
でも良い) を使うよう防御的に記述した方が良いと思います[1]。 - 3点目、
e.preventDefault()
のコメントが「全イベント無効化」となっていますが、「イベント e を(キャンセル可能であれば)キャンセルする」関数ですので、そのように変えた方が良いと思います[2]。
/*
* 要約欄でエンターキーを押した際に投稿されないようにする
*
* window.summaryEnterRejectDisable -
* この機能を無効化させるには jQuery.ready() が呼び出されるまでに true にする
*/
jQuery( document ).ready( function( $ )
{
// 未定義であるか、無効化されてなければ
if ( typeof summaryEnterRejectDisable === 'undefined' || summaryEnterRejectDisable == false )
{
// キーが押されたとき
$( "#wpSummary" ).keypress( function( e )
{
// エンターキーならば
if ( e.keyCode == 13 )
{
// イベントをキャンセル
e.preventDefault();
}
});
// アクセシビリティを考慮
$( "#wpSave" ).css( "font-weight" , "normal" );
}
});
結局、他のコメントも書き換えてしまいました。ご検討いただけると有り難いです。--Frozen-mikan 2011年2月21日 (月) 04:13 (UTC) 読み込み順考慮のため修正。--Frozen-mikan 2011年2月21日 (月) 10:40 (UTC)
コメント 詳しい検証はまだなのですが、更新されるのをとめるために簡単に指摘しておきます。
MW 1.17 ではスクリプトのロード順序が、ガジェット → MediaWiki:Common.js → ユーザースクリプトの順番のようです(r82533とr82543で確認)。ですので、Frozen-mikanさんのご提示のコードでは、ガジェットで動作がキャンセルできないだろうと思います。--mizusumashi(みずすまし)
- ありがとうございます。ガジェットの方が先に読まれることを考慮した作りにしましょう。その方向で書き換えました。--Frozen-mikan 2011年2月21日 (月) 10:40 (UTC)
賛成 Frozen-mikanさんの2月21日 10:40のコードで動作確認をしました(OSやブラウザの条件は少ないけど)。問題ないと思います。MediaWiki:Gadget-SummaryEnterSave.jsとMediaWiki:Gadget-SummaryEnterPreview.jsも同時に書き換えましょう(こちらも動作確認をとっています)。
MediaWiki:Gadget-SummaryEnterSave.js
/*
* [MediaWiki:Common.js]]の要約欄でエンターキーを押した際に投稿されないようにする機能を解除
*/
window.summaryEnterRejectDisable = true;
MediaWiki:Gadget-SummaryEnterPreview.js
/*
* 要約欄でエンターキーを押した際にプレビューする
*/
// [[MediaWiki:Common.js]]の要約欄でエンターキーを押した際に投稿されないようにする機能を解除
window.summaryEnterRejectDisable = true;
// 本体
jQuery( document ).ready( function( $ )
{
// キーが押されたとき
$( "#wpSummary" ).keypress( function( e )
{
// エンターキーならば
if ( e.keyCode == 13 )
{
// プレビューを実行
$( "#wpPreview" ).click();
e.preventDefault();
}
});
// アクセシビリティを考慮
$( "#wpSave" ).css( "font-weight" , "normal" );
$( "#wpPreview" ).css( "font-weight" , "bold" );
});
いま考えると、MediaWiki:Gadget-SummaryEnterSave.jsはデフォルトの動作と表示にしているだけなので、必ずしも保存をしているわけではなく、その名前とMediaWiki:Gadget-SummaryEnterSaveの説明に疑問がありますが、以前からそうで、いままでその点で問題視する指摘があったことはなく(たぶん)、現在進行中の不具合対応としては比較的瑣末な話なのでそのあたりの検討は見送って構わないと思います。--mizusumashi(みずすまし) 2011年2月21日 (月) 18:21 (UTC)--一部修正:2011年2月22日 (火) 12:23 (UTC)--一部修正:2011年2月23日 (水) 12:06 (UTC)
- 賛成 おっしゃるような名前の問題あるいは他にもいろいろと気にしたら気になるところありますが、とりあえずバグ回避のための手段としてこのコードに置き換えることに賛成します。--青子守歌(会話/履歴) 2011年2月22日 (火) 14:07 (UTC)
- コメント さっき気づいたんですが、summaryEnterRejectが有効だとライブプレビューが使えなくなってるようです。新しいコードでも変わりません。前からこんな仕様でしたっけ。--Marine-Blue [ 会話 履歴 電信 ] 2011年2月22日 (火) 15:17 (UTC)
- コメント 「使えない」というとちょっと違って、正確には「n回目のプレビューまで動かない」のはずです(何回かプレビューしてしまうと次からは動くはず)。以前に調べた時は、プレビューボタンのイベントハンドラの問題か何かで動かなかった覚えがあります。まぁ、ライブプレビューは実験機能なので、とりあえず対応は後で問題ないと思います。--青子守歌(会話/履歴) 2011年2月22日 (火) 15:29 (UTC)
- コメント ざっと確認した範囲では、今回の原因と根は同じだと思われます。今回、影響を受けるのは、新しい節を追加する際には編集用の form 要素の内部全てですが、通常編集時は wpSummary の親である div.editOptions までです。プレビューボタンは、この div.editOptions の子孫にあたるため、ライブプレビューに問題が出たものと推測します。よって、このまま変更を適用し様子を見たいと思います。--Frozen-mikan 2011年2月22日 (火) 15:54 (UTC)
- コメント Marine-Blueさんがおっしゃっていることとは別件なのかもと思いますが、2011年2月21日18:21の MediaWiki:Gadget-SummaryEnterPreview.js を有効にしていても、同時にライブプレビューを有効にした場合、要約記入欄でエンターキーを押すと投稿されてしまう現象を確認しました。これはMediaWiki:Gadget-SummaryEnterPreview.jsにpreventDefault()を入れることで回避できます(上のコードは修正済み)。--mizusumashi(みずすまし) 2011年2月23日 (水) 12:06 (UTC)
上記のコードで特に問題なさそうですし、1日ほど待って明日ぐらいにはWP:AN/PEに依頼を出したいと思います。 その後の細かな修正は引き続きやっていきましょう。--青子守歌(会話/履歴) 2011年2月24日 (木) 14:20 (UTC)
- 報告 依頼してきました。--青子守歌(会話/履歴) 2011年2月26日 (土) 14:45 (UTC)
- 報告 2011年3月8日 (火) 18:36 (UTC) の版(差分)で修正されたことを確認。動作確認は、新しい節の追加、ガジェット(単独・組み合わせ)、ライブプレビューにて。環境はXP+Chrome9。--Frozen-mikan 2011年3月10日 (木) 00:00 (UTC)
Template:Link FA 更新
[編集]Template‐ノート:Link FA にて、Template:Link FA および Template:Link GA を改変する提案を行なっています。それにともない、この MediaWiki:Common.js 側のコードの更新も予定しておりますので、お知らせいたします。--fryed-peach [会話] 2011年10月11日 (火) 15:45 (UTC)
- Template‐ノート:Link FA での議論に基づき、以下の変更を提案します。
現在の、
/*
* LinkFA: サイドバーにおける他言語版の秀逸な記事へのリンクに星の画像を付ける処理
* [[Template:Link FA]]も参照
*/
から
addOnloadHook(LinkGA);
までの部分を 利用者:Fryed-peach/FA.js の内容で置き換えます。変更点は以下です。
- MediaWiki の更新への対応
- FA と GA の処理を1つの関数にまとめる
- 今まで対応していなかった、ノスタルジアやケルンブルーなどのスキンに対応
- 細部の最適化
1週間ほど待って編集依頼にだそうと思います。--fryed-peach [会話] 2011年10月20日 (木) 15:19 (UTC)
- 予告より少し遅れましたが、編集依頼に出しました。--fryed-peach [会話] 2011年10月30日 (日) 17:47 (UTC)
- 報告 反映されました。--fryed-peach [会話] 2011年11月7日 (月) 15:41 (UTC)
addOnloadHook
[編集]addOnloadHook は、7カ所あります。
// 作業例
addOnloadHook( myFunction );
// これを以下のように置き換え
$( myFunction );
これは簡単な置換えです。厳密には関数が実行されるタイミングが早くなります。ページロード完了時からDOM構築完了時まで前倒しになります。--Frozen-mikan(会話) 2012年4月3日 (火) 13:02 (UTC)
- 3週間以上意見が付かない状況ですが、簡単な置き換えであるので、変更しようと思います。時期は明日、明後日あたりを考えています。--Frozen-mikan(会話) 2012年4月27日 (金) 08:56 (UTC)
- 賛成 気づいてなかったですが、賛成します。個人的にはmyFunctionそのもの要らずに匿名関数で良い気がしますが、まぁそこは置いとく感じで。--青子守歌(会話/履歴) 2012年4月27日 (金) 10:21 (UTC)
- 報告 先ほど、変更しました[3]。問題が有れば差し戻して下さい。--Frozen-mikan(会話) 2012年4月29日 (日) 07:59 (UTC)
他言語のGAアイコンがおかしい
[編集]ここで指摘するべきことかわからないのですが、他言語版のGAを示すアイコンの表示が二重になっているように思われます。Firefox 14とInternet Explorer 9で同様の現象が起きています。まったく同様のテンプレートを利用しているはずのFAでは同じ問題が起きていないので、なぜこういう現象がおきるのか理解できていません。以前からこういう現象が起きていたわけではなかったように思うのですが、何かわかる方はいらっしゃいませんでしょうか? ナウルとかを見ていただくと現象が見られると思います。--Tam0031(会話) 2012年8月30日 (木) 17:15 (UTC)
- コメント アイコンが二重に表示される問題を Chrome でも確認しました。
問題の原因はCSSにあるようです。Vector.cssでは、Common.cssで指定されているFA/GAアイコンを表示させないため、その部分を上書きしています。
2010年7月にGAの分を追加した際 [4]、FAでは#mw-panel
となっている部分を、GAでは#panel
としています。ただ、当時は問題が起きていない上、折りたたみ可能な場合に限定していることから、現在とは構造が違っていたのかもしれません。--Frozen-mikan(会話) 2012年8月30日 (木) 19:03 (UTC)
報告 以上のような問題点を踏まえ、MediaWiki:Vector.css を修正しました[5]。--Frozen-mikan(会話) 2012年8月30日 (木) 19:03 (UTC)
- 早々の対応、ありがとうございました。--Tam0031(会話) 2012年8月31日 (金) 14:45 (UTC)
wgAjaxWatch
[編集]{{editprotected}}
if(! messages[wgUserLanguage]['watchTitle'] && wgAjaxWatch && wgAjaxWatch['watchMsg']){
messages[wgUserLanguage]['watchTitle'] = wgAjaxWatch['watchMsg'].toLowerCase();
}
The wgAjaxWatch variable is deprecated now (see mw:ResourceLoader/JavaScript Deprecations#ajaxwatch.js) and has been removed in current MediaWiki. There's no replacement so please just remove these lines and let it fall back to English. Liangent(会話) 2013年4月17日 (水) 08:01 (UTC)
- 済 Thank you for your report. Removed this block. --Frozen-mikan(会話) 2013年4月17日 (水) 11:21 (UTC)
- コメント wgAjaxWatch という変数が既に定義されていないため、利用言語によっては、コンソールにエラーが表示されていました。このスクリプトによって補われていた用語は英語で表示されているはずです。よって除去対応としました。--Frozen-mikan(会話) 2013年4月17日 (水) 11:21 (UTC)