利用者:JulienBourdon~jawiki/common.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
/*
*
* WikiBhasha
* Copyright (C) 2010, Microsoft
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
// ===UserScript===
// @name wikiBhasha
// @namespace wikiBhasha
// @include http://*.wikipedia.org/*
// ===/UserScript===
//
// WikiBhasha launch helper script.
// Description: this script eases the procedure to launch WikiBhasha by instrumenting
// wikipedia pages with links and options to launch the application. It executes the
// same routine as the bookmarklet and is portable across Wikipedia installations.
//
// The current options to launch WikiBhasha are:
// 1. Looks for "action=edit" in the URL and check if toolbar exists. if present adds a
// icon to the toolbar for launching WikiBhasha.
// 2. inserts a "WikiBhasha" option in the left side toolbox menu.
// 3. Looks for "wbAutoLaunch=true" in the URL and launch WikiBhasha.
var wbGadget = {
// wbLoadGadget is executed after the page finishes loading. It looks for specific
// indicators and determines how to instrument the page with different options to launch
// the application
wbLoadGadget : function()
{
var wikiBhashaUrl = "javascript:(function(){if(!(document.getElementById('wbBlockParentUI'))){" +
"if(location.href.match(/^(http):\\/\\/[A-Za-z]+\.(wikipedia.org)/)==null || wgNamespaceNumber != 0 ){"+
"alert('Please select a valid article from wikipedia and invoke WikiBhasha (Beta).');return;}" +
"this.baseUrl ='"+ baseUrl +"';this.targetLanguageCode='en';"+
"this.wikiSourceLanguage=typeof wgUserLanguage !== 'undefined' ? wgUserLanguage : '"+targetLanguageCode+"';" +
"wbBookMarkletLinkDiv=document.createElement('div');" +
"wbBookMarkletLinkDiv.id='wbLoadDiv';" +
"wbBookMarkletLinkDiv.innerHTML='<div style=\"background-color:Black;color:#FFFFFF;position:absolute;text-align:center;font-size:13px;font-weight:bold;left:0px;top:0px;padding:10px 0;z-index:1000;width:100%;border-bottom:3px solid gray;\">Loading...</div>';" +
"document.body.appendChild(wbBookMarkletLinkDiv);" +
"wbBookMarkletScripts=document.createElement('script');" +
"wbBookMarkletScripts.setAttribute('src','" + baseUrl + "js/main.js');" +
"document.body.appendChild(wbBookMarkletScripts);" +
"}})()";
// looks for the Toolbar on edit pages, creates and appends a simple button in the format expected by the toolbar
if((document.getElementById('toolbar') || document.getElementById('wikiEditor-ui-toolbar')) && wbGadget.getUrlParam("action") == "edit" && !(document.getElementById('iconWikiBhasha')))
{
var wbIcon = document.createElement("a");
wbIcon.title = "Launch WikiBhasha (Beta)";
wbIcon.id = "iconWikiBhasha";
wbIcon.href=wikiBhashaUrl;
wbIcon.innerHTML = "<img src='" + baseUrl + "images/Square.png'>";
if(document.getElementById('toolbar'))
{
// Append the launch button to the default toolbar
var toolbar = document.getElementById('toolbar');
if(toolbar.firstChild)
toolbar.appendChild(wbIcon);
}else if(document.getElementById('wikiEditor-ui-toolbar'))
{
var wbIconGroupDiv = document.createElement("div");
wbIconGroupDiv.setAttribute('class', 'group group-format');
wbIconGroupDiv.appendChild(wbIcon);
// Append the launch button to the new type toolbar
var toolbar = document.getElementById('wikiEditor-ui-toolbar');
if(toolbar.firstChild)
toolbar.firstChild.appendChild(wbIconGroupDiv);
}
}
// Checks for the "toolbox" section, usually present on lower left side of the page. This is displayed only if the
// article page is being viewed and not if it's on an edit page.
if(typeof(document.getElementById('p-tb').getElementsByTagName("div")[0].getElementsByTagName("ul")[0]) != "undefined" && ( wgUserLanguage == targetLanguageCode || document.getElementById("ca-edit")) && !(document.getElementById('toolbarLinkWikiBhasha')))
{
var toolboxUL = document.getElementById('p-tb').getElementsByTagName("div")[0].getElementsByTagName("ul")[0];
// construct the DOM as expected by the toolbox div
var liElem = document.createElement('li');
var anchorElem = document.createElement('a');
anchorElem.title = "Launch WikiBhasha (Beta)";
anchorElem.id = "toolbarLinkWikiBhasha";
anchorElem.href = wikiBhashaUrl;
anchorElem.innerHTML = "WikiBhasha (Beta)";
liElem.appendChild(anchorElem);
toolboxUL.appendChild(liElem);
}
// This is going to be used by the main application when the user launches it from an article
// page, and will prevent the need for the user to click on the bookmarklet/button again
if(wbGadget.getUrlParam("wbAutoLaunch") == "true" && !(document.getElementById('wbLoadDiv')))
{
if(!(document.getElementById('wbBlockParentUI'))){
if(location.href.match(/^(http):\/\/[A-Za-z]+.(wikipedia.org)/)==null || wgNamespaceNumber != 0){
alert("Please select a valid article from wikipedia and invoke WikiBhasha (Beta).");
return;
}
wikiSourceLanguage=typeof wgUserLanguage !== 'undefined' ? wgUserLanguage : targetLanguageCode;
wbBookMarkletLinkDiv=document.createElement('div');
wbBookMarkletLinkDiv.id='wbLoadDiv';
wbBookMarkletLinkDiv.innerHTML='<div style="background-color:Black;color:#FFFFFF;position:absolute;text-align:center;font-size:13px;font-weight:bold;left:0px;top:0px;padding:10px 0;z-index:1000;width:100%;border-bottom:3px solid gray;">Loading...</div>';
document.body.appendChild(wbBookMarkletLinkDiv);
wbBookMarkletScripts=document.createElement('script');
wbBookMarkletScripts.setAttribute('src', baseUrl + 'js/main.js');
document.body.appendChild(wbBookMarkletScripts);
}
}
},
getUrlParam : function (strParamName){
var strReturn = "";
var strHref = window.location.href;
if ( strHref.indexOf("?") > -1 ){
var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
var aQueryString = strQueryString.split("&");
for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
var aParam = aQueryString[iParam].split("=");
strReturn = aParam[1];
break;
}
}
}
return unescape(strReturn);
}
};
var baseUrl='http://www.wikibhasha.org/';
var targetLanguageCode = 'en';
$(function () {
setTimeout(wbGadget.wbLoadGadget, 1000);
});