Proiect:Cod Wikipedia/Bookmarklets/Generare referințe/Blog

De la Wikipedia, enciclopedia liberă

Posibile îmbunătățiri:

  • Un nume mai sugestiv sau mai „stylish” decât REFLET pentru script. Ark25  (discuție) 26 august 2013 06:17 (EEST)

Bugs:

  • Scriptul este prea mare și din cauza aceasta Firefox îl „uită” de fiecare dată când este închis și repornit - iar asta înseamnă că Bookmarkletul trebuie re-introdus de fiecare dată când pornești Firefox-ul. Google Chrome nu are o asemenea problemă. Bug-ul nu aparține scriptului ci ține de Firefox, dar îi poate împiedica noii utilizatori să îl folosească. Soluția ar fi ca scriptul să fie redus, prin scoaterea saiturilor mai puțin vizitate (doctorulzilei.ro, animalzoo.ro etc). În primul rând trebuiesc identificate asemenea saituri și grupate unul după celălalt (în script). —  Ark25  (discuție) 26 august 2013 06:17 (EEST)
Scriptul în versiunea actuală este ceva mai mic (43 KB) și Firefox nu îl mai uită. Am scos saiturile dintre crestinortodox.ro -> ftr.ro și businessweek.com -> youtube.com. —  Ark25  (discuție) 26 august 2013 14:48 (EEST)


Ciudățenii

Următorul script funcționează în FireFox însă nu funcționează în Google Chrome

javascript:
var s = 'abc';
var W_Title = '123';
if (W_Title != 'arhiva WebCite')
	var s = '* ' + s;
else
	var s = '- ' + s;
var s = prompt('Wiki-Reference', s);

Soluția constă în a nu coborî pe linia următoare instrucțiunea de după "else" - în acest caz instrucțiunea este "var s = '- ' + s;"

javascript:
var s = 'abc';
var W_Title = '123';
if (W_Title != 'arhiva WebCite')
	var s = '* ' + s;
else var s = '- ' + s;
var s = prompt('Wiki-Reference', s);

 Ark25  (discuție) 27 decembrie 2015 00:36 (EET)


Noul cod pentru Revista 22 blochează funcționarea scriptului:

	if (u.match(/revista22.ro/)) {
		var W_Title = document.title;
		var titleregex = /<meta\s+property=.og:title.\s+content=.(.+?).\s+\/>/g;
		var metas = document.getElementsByTagName('meta');
		for (metasindex = 0; metasindex < metas.length; metasindex++) {
			if (metas[metasindex].getAttribute('property') == 'og:title') {
				W_Title = metas[metasindex].getAttribute('content');
			};
		};
		var dateregex = /<div\s+class=.date.>(<b>)?(\d{4}\-\d{2}\-\d{2})(<\/b>)?<\/div>/g;
		var datematches;
		var x = '';
		while (datematches = dateregex.exec(d)) {
			x = datematches[2];
		};
		var W_Date = x;
		var authorregexes = [];
		var authorregexesfunctionextractors = [];
		authorregexes.push(/<a href=.autor\.php\?s=.*?.> <span style=.color:#970606; font-family: 'Roboto', Arial, sans-serif; font-weight: 400; font-size:18px; letter-spacing: -1px;.> (.*?)<\/span><span style=.color:#970606; font-family: 'Roboto', Arial, sans-serif; font-weight: 900; font-size:18px; letter-spacing: -1px;.> (.*?) <\/span> <\/a>/g);
		authorregexesfunctionextractors.push(function(found_matches) { return found_matches[1] + ' ' + found_matches[2]});
		authorregexes.push(/<div class=.post_title.>(.*?)<\/div>\s*<div class=.date-category-comment. style=.padding:10px 0px;.>\s* <div class=.category.>(.*?)<b> <\/b><\/div>/g)
		authorregexesfunctionextractors.push(function(found_matches) { return found_matches[2]});
		var W_Authors = '';
		var authorregexindex = 0;
		while (W_Authors.length == 0 && authorregexindex < authorregexes.length) {
			var authormatches;
			console.log(d);
			while (authormatches = authorregexes[authorregexindex].exec(d)) {
				W_Authors = authorregexesfunctionextractors[authorregexindex](authormatches);
			};
			authorregexindex = authorregexindex + 1;
			console.log('authors=' + W_Authors)
		};
		var W_Newspaper = 'Revista 22';
	};

 Ark25  (discuție) 27 decembrie 2015 01:07 (EET)