মিডিয়াউইকি:Printshowall.js
টীকা: সংরক্ষণ করার পর, পরিবর্তনসমূহ তৎক্ষণাৎ নাও দেখাতে পারে। আপনার ব্রাউজারের ক্যাশ কিভাবে এড়াবেন তা জানতে এখানে ক্লিক করুন।
- ফায়ারফক্স / সাফারি: Shift ধরে রাখা অবস্থায়পুনঃলোড করুন-এ ক্লিক করুন, অথবা Ctrl-F5 বা Ctrl-R (ম্যাক-এ ⌘-R) চাপুন
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাক-এ ⌘-Shift-R) চাপুন
- ইন্টারনেট এক্সপ্লোরার: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 চাপুন
- অপেরা: মেনু → ব্যবস্থাপনাসমূহ-এ যান (ম্যাকে অপেরা → পছন্দসমূহ) এবং এরপর গোপনীয়তা ও সুরক্ষা → ব্রাউজিং-এর তথ্য পরিষ্কার করুন → ক্যাশে করা ছবি ও ফাইলগুলি।
অন্যান্য ব্রাউজার সম্পর্কে বিশদ নির্দেশাবলীর জন্য, উইকিপিডিয়া:আপনার ক্যাশে বাইপাস করুন দেখুন।
// <source lang="javascript">
/***********
*** Add link
***********/
function spq_onload() {
var spq = {};
spq.document = document.getElementById('bodyContent');
/***********
*** Add custom CSS
***********/
// overall
spq.styles = document.createElement('style');
spq.styles.setAttribute('type','text/css');
spq.styles.setAttribute('media','print, screen, projection');
spq.styles.innerHTML = '.firstHeading { page-break-before:always; margin-top:2em; padding:0.5em; border:5px solid #000; border-width:5px 0; color:#000; }\n'
+ '.headertemplate { display:none; } ';
document.getElementsByTagName('head')[0].appendChild(spq.styles);
// print only
spq.styles = document.createElement('style');
spq.styles.setAttribute('type','text/css');
spq.styles.setAttribute('media','print');
spq.styles.innerHTML = '.spq_box { display:none; }\n';
document.getElementsByTagName('head')[0].appendChild(spq.styles);
// override for first heading and header
getElementsByClassName(document, 'h1', 'firstHeading')[0].setAttribute('style','page-break-before:auto; margin-top:0; padding-top:0; border:0;');
getElementsByClassName(document, 'table', 'headertemplate')[0].setAttribute('style','display:table;');
/***********
*** Add link
***********/
spq.box = document.createElement('div');
spq.box.setAttribute('class','spq_box');
spq.box.setAttribute('style','border:1px solid gray; font-weight:bold;');
spq.link = document.createElement('a');
spq.link.setAttribute('href','#');
spq.link.setAttribute('onClick','spq_load();');
spq.link.setAttribute('style','text-decoration:underline !important; color:blue !important;');
spq.link.appendChild(document.createTextNode('Show all subpages'));
spq.box.appendChild(spq.link);
spq.box.appendChild(document.createTextNode(' (it may take a while to load large works)'));
spq.document.insertBefore(spq.box,spq.document.firstChild);
}
function spq_load() {
/***********
*** Initialize
***********/
var spq = {};
spq.document = document.getElementById('bodyContent');
/* get array of subpages */
spq.links = spq.document.getElementsByTagName('a');
spq.count = spq.links.length;
spq.subpages = [];
spq.regex = new RegExp('^' + mw.config.get('wgTitle') + '/(.+)$','g');
for(var i=0, x=0; i<spq.count; i++) {
spq.title = spq.links[i].title.match(spq.regex);
if(spq.title) {
spq.subpages[x] = String(spq.title).replace(spq.regex,'$1');
x++;
}
}
spq.count = spq.subpages.length;
/***********
*** Prepare sections
***********/
// add global placeholder
if(document.getElementById('spq') != null) {
spq.document.removeChild(document.getElementById('spq'));
}
spq.body = document.createElement('div');
spq.body.setAttribute('id','spq');
spq.document.insertBefore(spq.body,document.getElementById('catlinks'));
// build loading indicator
spq.loader = document.createElement('div');
spq.loaderimg = document.createElement('img');
spq.loaderimg.src = '//upload.wikimedia.org/wikipedia/commons/d/d2/Spinning_wheel_throbber.gif';
spq.loader.appendChild(spq.loaderimg);
spq.loader.appendChild(document.createTextNode('Loading page text...'));
// place section for each page
for(var i=0; i<spq.count; i++) {
spq.header = document.createElement('h1');
spq.header.setAttribute('class','firstHeading');
spq.header.appendChild(document.createTextNode(unescape(spq.subpages[i])));
spq.loader.setAttribute('id','spq_' + i);
spq.body.appendChild(spq.header);
spq.body.appendChild(spq.loader.cloneNode('true'));
}
/***********
*** Query and place text
***********/
for(var i=0; i<spq.count; i++) {
/* get text (must be eval'd for dynamic variable names */
eval('spq.query_' + i + ' = sajax_init_object();'
+ 'spq.query_' + i + '.open("GET","' + mw.config.get('wgServer')+'/wiki/'+mw.config.get('wgPageName')+'/'+spq.subpages[i]+'?action=render",true);'
+ 'spq.query_' + i + '.send("");'
+ 'spq.query_' + i + '.onreadystatechange = function() {'
+ ' if(spq.query_' + i + '.readyState==4) {'
+ ' if(spq.query_' + i + '.status==200) {'
+ ' document.getElementById("spq_' + i + '").innerHTML = spq.query_' + i + '.responseText;'
+ ' }'
+ ' else {'
+ ' alert("Retrieval failed!");'
+ ' }'
+ ' }'
+ '}');
}
}
spq_onload();
// </source>
// [[Category:MediaWiki JavaScript]]