提供: Japanese Scratch-Wiki

< 利用者:Mochimochiking

2017年10月8日 (日) 08:41時点におけるMochimochiking (トーク | 投稿記録)による版

注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。

  • Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
  • Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
  • Internet Explorer: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください
  • Opera: メニュー → 設定 (Mac では Opera → 環境設定) に移動し、プライバシーとセキュリティ → 閲覧データを消去 → キャッシュされた画像およびファイル からキャッシュをクリアしてください。
document.getElementById("p-personal").getElementsByTagName("ul")[0].outerHTML="<ul><li id=\"pt-userpage\"><a href=\"/wiki/%E5%88%A9%E7%94%A8%E8%80%85:Mochimochiking\" dir=\"auto\" title=\"自分の利用者ページ [alt-shift-.]\" accesskey=\".\">Mochimochiking</a></li><li id=\"pt-mytalk\"><a href=\"/wiki/%E5%88%A9%E7%94%A8%E8%80%85%E3%83%BB%E3%83%88%E3%83%BC%E3%82%AF:Mochimochiking\" title=\"自分のトークページ [alt-shift-n]\" accesskey=\"n\">会話</a></li><li id=\"pt-sandbox\"><a href=\"/wiki/%E5%88%A9%E7%94%A8%E8%80%85:Mochimkchiking/sandbox\" title=\"自分のサンドボックス\">下書き</a></li><li id=\"pt-preferences\"><a href=\"/wiki/%E7%89%B9%E5%88%A5:%E5%80%8B%E4%BA%BA%E8%A8%AD%E5%AE%9A\" title=\"個人設定\">個人設定</a></li><li id=\"pt-watchlist\"><a href=\"/wiki/%E7%89%B9%E5%88%A5:%E3%82%A6%E3%82%A9%E3%83%83%E3%83%81%E3%83%AA%E3%82%B9%E3%83%88\" title=\"変更をウォッチしているページの一覧 [alt-shift-l]\" accesskey=\"l\">ウォッチリスト</a></li><li id=\"pt-mycontris\"><a href=\"/wiki/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Mochimochiking\" title=\"自分の投稿の一覧 [alt-shift-y]\" accesskey=\"y\">投稿記録</a></li><li id=\"pt-logout\"><a href=\"/w/index.php?title=%E7%89%B9%E5%88%A5:%E3%83%AD%E3%82%B0%E3%82%A2%E3%82%A6%E3%83%88&amp;returnto=%E5%88%A9%E7%94%A8%E8%80%85%3AMochimochiking%2Fcommon.js&amp;returntoquery=action%3Dedit\" title=\"ログアウト\">ログアウト</a></li>	</ul> ";

/*
This JavaScript is CC0/Public Domain.
You can use it freely but I don't certify.

It uses:
https://ja.wikipedia.org/wiki/User:Cpro/checksigniture.js
*/

var beforeString="";

// Settings
var SIGNATURE_STRING="\u007E\u007E\u007E\u007E"; // Signature
var STUB_SIZE=1000;
var BLANK_SIZE=20;

//Translation
var M_NOSIG="署名がありません。ノートページでは署名が必要です。";
var M_NOCAT="カテゴリがありません。カテゴリを追加して下さい。";
var M_SC="ショートカットを作成しようとしています。よろしいですか?";
var M_STUB="この記事はスタブと思われます。よろしいですか?";
var M_NOST="この記事はスタブと思われますが、スタブテンプレートがありません。スタブテンプレートを追加してください。";
var M_BLANK="白紙のページにしないでください。";

var CATEGORY_STRING_EN="\u005B\u005B\u0043\u0061\u0074\u0065\u0067\u006F\u0072\u0079\u003A";
var CATEGORY_STRING_JA="\u005B\u005B\u30AB\u30C6\u30B4\u30EA\u003A";

var T_GUIDE="\u007b\u007b\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\u007d\u007d";
var T_DEL="\u007b\u007b\u524a\u9664\u4e88\u5b9a\u30da\u30fc\u30b8\u007d\u007d";
var T_STUB="\u007b\u007b\u0073\u0074\u0075\u0062\u007d\u007d";

var R_EN="\u0023\u0052\u0045\u0044\u0049\u0052\u0045\u0043\u0054";
var R_JP1="\u0023\u30ea\u30c0\u30a4\u30ec\u30af\u30c8";
var R_JP2="\u0023\u8ee2\u9001";
var R_SC="\u004a\u0043\u003a";

function sigCheck(){
 // Signature Checker (in Talk Pages)
 var ns=mw.config.get('wgNamespaceNumber');
 if(ns%2 == 0)return;
 var $saveButton = $('#wpSave');
 if($saveButton.length == 0 && mw.config.get('wgAction') != "edit") return;
 $saveButton.click(function(e){
  var text = $('#wpTextbox1').val();
  var pos = text.indexOf(SIGNATURE_STRING);
  if(pos == -1){
   if(!window.confirm(M_NOSIG)) e.preventDefault();
  }
 });
}

function categoryCheck(){
 // Category Checker (without User and Talk)
 // From Template Category Only is wrong(except Guidelines and Deletion)
 var ns=mw.config.get('wgNamespaceNumber');
 if(ns == 2 || ns%2 == 1)return;
 var $saveButton = $('#wpSave');
 if($saveButton.length == 0 && mw.config.get('wgAction') != "edit") return;
 $saveButton.click(function(e){
  var text = $('#wpTextbox1').val();
  var pos1 = text.indexOf(CATEGORY_STRING_EN);
  var pos2 = text.indexOf(CATEGORY_STRING_JA);
  var pos3 = text.indexOf(T_GUIDE);
  var pos4 = text.indexOf(T_DEL);
  if((pos1 == -1 && pos2 == -1) && (pos3 != -1 && pos4 != -1)){
   if(!window.confirm(M_NOCAT)) e.preventDefault();
  }
 });
}

function shortcutCheck(){
 // Shortcut Checker
 var ns=mw.config.get('wgNamespaceNumber');
 var pn=mw.config.get('wgPageName');
 if(ns!=0) return;
 var $saveButton = $('#wpSave');
 var posPageName = pn.indexOf(R_SC);
 if(($saveButton.length == 0 && mw.config.get('wgAction') != "edit") || posPageName == -1) return;
 $saveButton.click(function(e){
  var text = $('#wpTextbox1').val();
  var pos1 = text.indexOf(R_EN);
  var pos2 = text.indexOf(R_JP1);
  var pos3 = text.indexOf(R_JP2);
  if(pos1 != -1 || pos2 != -1 || pos3 != -1){
   if(!window.confirm(M_SC)) e.preventDefault();
  }
 });
}

function stubCheck(){
 // Stub Checker
 var ns=mw.config.get('wgNamespaceNumber');
 if(ns!=0) return;
 var $saveButton = $('#wpSave');
 $saveButton.click(function(e){
  var text = $('#wpTextbox1').val();
  var pos1 = text.indexOf(R_EN);
  var pos2 = text.indexOf(R_JP1);
  var pos3 = text.indexOf(R_JP2);
  var pos4 = text.indexOf(T_STUB);
  if(pos1 != -1 || pos2 != -1 || pos3 != -1) return;
  if(text.length < STUB_SIZE){
   if (pos4 == -1){
    alert(M_NOST);
   } else{
    if(!window.confirm(M_STUB)) e.preventDefault();
   }
  } else{
   if(text.length < BLANK_SIZE) {
    alert(M_BLANK);
   }
  }
 });
}

$(function(){
 beforeString=$('#wpTextbox1').val();
 sigCheck();
 categoryCheck();
 shortcutCheck();
 stubCheck();
});