মিডিয়াউইকি: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]]