W3C Pseudo Local Validator authentication Swap menu

Le bookmarklet

Bookmarklet inline W3C_Pseudo_Local_Validator

Bookmarklet hébergé sur ce site W3C_Pseudo_Local_Validator!

Informations

Ce bookmarklet permet de faire la vérification w3c d'une page située sur la machine locale.

Source: http://blog.persistent.info/2004/07/pseudo-local-w3c-validator-favelet.html

Le script

// these have to be globals since "this" doesn't always work in RequestHandler 
var getSourceRequest = null;
var gotSourceResponse = false;
var getSourceRequestHandler = null;

// create the message div
var messageDiv = document.createElement('div');
document.body.appendChild(messageDiv);

var s = messageDiv.style;
s.position = "fixed";
s.top = s.left = s.margin = "0";
s.width = "100%";
s.padding = "0.5em";
s.background = "yellow";
s.textAlign = "center";
s.borderBottom = "solid 1px black";
s.opacity = s.MozOpacity = ".75";
s.fontFamily = "Trebuchet MS, sans-serif";
s.fontSize = "12px";

messageDiv.innerHTML = "Getting page source...";
getDocumentSource(validateSource);

function getDocumentSource(handler)
{
	if (typeof XMLHttpRequest != "undefined")
	{
		getSourceRequest = new XMLHttpRequest();
		getSourceRequest.onload = RequestHandler;
		getSourceRequest.onerror = RequestHandler;
		getSourceRequest.onreadystatechange = RequestHandler;
		
		gotSourceResponse = false;
		getSourceRequestHandler = handler;
		
		getSourceRequest.open("GET", window.location, true);
		getSourceRequest.send(null);
	}
	// we can't use MSIE's XMLHttpRequest ActiveX control since it doesn't seem
	// to work from the links bar. document.documentElement.outerHTML is close
	// but not quite the same thing
	else
	{
		alert("Can\'t get the page\'s source");
	}
}
	
function RequestHandler()
{
	if (getSourceRequest.readyState != 4) return;
	
	if (!getSourceRequest.status || getSourceRequest.status == 200)
	{
		if (!gotSourceResponse)
			if (getSourceRequest.responseText)
			{
				gotSourceResponse = true;
				getSourceRequestHandler(getSourceRequest.responseText);
			}
			else
			{
				alert("No response.");
			}
	}
	else
	{
		alert("No response.");
	}
}

function validateSource(source)
{
	messageDiv.innerHTML = "Sending source to server...";
	var formDiv = document.createElement('div');
	//formDiv.style.display = "none";
	document.body.appendChild(formDiv);
	formDiv.innerHTML = '<form id=\'sourceForm\' method=\'post\' target=\'_new\' action=\'http://www.ilu.be/fav/validator\'>' +
							'<input type=\'hidden\' id=\'t__sourceFormItem\' name=\'t__sourceFormItem\' />' +
						'</form>';
	
	var t__sourceFormItem = document.getElementById("t__sourceFormItem");
	t__sourceFormItem.value = source;
	
	var sourceForm = document.getElementById("sourceForm");
	sourceForm.submit();
	
	document.body.removeChild(messageDiv);
	document.body.removeChild(formDiv);
}

Valid XHTML 1.0 Strict Valid CSS

AccueilPage précédenteHaut de pagePage suivante