<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ROAE-Blog &#187; bookmarklet</title>
	<atom:link href="http://blog.root-of-all-evil.com/tag/bookmarklet/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.root-of-all-evil.com</link>
	<description>Studium, Codeing und Gedachtes</description>
	<lastBuildDate>Mon, 30 Jan 2012 22:58:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Bookmarklet erstellen: Methode bei HTML-Formularen ändern</title>
		<link>http://blog.root-of-all-evil.com/2010/02/bookmarklet-erstellen-methode-bei-html-formularen-andern/</link>
		<comments>http://blog.root-of-all-evil.com/2010/02/bookmarklet-erstellen-methode-bei-html-formularen-andern/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 17:25:12 +0000</pubDate>
		<dc:creator>Felix</dc:creator>
				<category><![CDATA[Codeschnipsel]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[bookmarklet]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[form method]]></category>
		<category><![CDATA[get]]></category>
		<category><![CDATA[post]]></category>

		<guid isPermaLink="false">http://blog.root-of-all-evil.com/?p=441</guid>
		<description><![CDATA[<a href="http://blog.root-of-all-evil.com/2010/02/bookmarklet-erstellen-methode-bei-html-formularen-andern/" title="Bookmarklet erstellen: Methode bei HTML-Formularen ändern"></a>Als Entwickler ist es oft wichtig zu sehen welche Daten übetragen werden. Gründe hierfür sind z.B. Sicherheit und Debuging. Folgendes Bookmarklet, wandelt alle Formulare auf der Seite von post- auf get-Formulare um. Nachstehende Funktion ermittelt alle Form-Tags auf der Seite. &#8230;<p class="read-more"><a href="http://blog.root-of-all-evil.com/2010/02/bookmarklet-erstellen-methode-bei-html-formularen-andern/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.root-of-all-evil.com/2010/02/bookmarklet-erstellen-methode-bei-html-formularen-andern/" title="Bookmarklet erstellen: Methode bei HTML-Formularen ändern"></a><p>Als Entwickler ist es oft wichtig zu sehen welche Daten übetragen werden. Gründe hierfür sind z.B. Sicherheit und Debuging. Folgendes Bookmarklet, wandelt alle Formulare auf der Seite von post- auf get-Formulare um.</p>
<p><span id="more-441"></span></p>
<p>Nachstehende Funktion ermittelt alle Form-Tags auf der Seite. Sie überprüft anschließend, ob das method-Attribute vorhanden ist, wenn nicht wird es erstellt und der Wert &#8220;get&#8221; zugewiesen. Sollte das method-Attribute vorhanden sein, und den Wert &#8220;post&#8221; besitzen, wird dieser auf &#8220;get&#8221; geändert.</p>
<pre class="javascript" title="code">function changePostToGet()
{
	count = 0;
	els = document.getElementsByTagName('form');
	for(i=0;i&lt;els.length;i++)
	{
		if(!els[i].getAttribute('method'))
		{
			attrib = document.createAttribute('method');
			attrib.nodeValue = 'get';
			els[i].setAttributeNode(attrib);

			count ++;
		}
		else if(els[i].getAttribute('method').toLowerCase()=='post')
		{
			els[i].setAttribute('method', 'get');

			count ++;
		}
	}

	alert(count+' form(s) transformed.');
}</pre>
<p>Da es nun praktisch schlecht ist, diesen Code auf jeder Seite unterzubringen, auf welchen man ihn benötigen würde, erstellen wir uns daraus ein <a href="http://de.wikipedia.org/wiki/Bookmarklet">Bookmarklet</a>.</p>
<p>Der Funktionsrumpf wird hierzu in den <a href="http://javascriptcompressor.com/">Javascript Compressor</a> kopiert, welcher daraus folgenden String erstellt:</p>
<pre class="javascript" title="code">count=0;els=document.getElementsByTagName('form');for(i=0;i&lt;els.length;i++){if(!els[i].getAttribute('method')){attrib=document.createAttribute('method');attrib.nodeValue='get';els[i].setAttributeNode(attrib);count++}else if(els[i].getAttribute('method').toLowerCase()=='post'){els[i].setAttribute('method','get');count++}}alert(count+' form(s) transformed.');</pre>
<p>Um das Bookmarklet jetzt z.B. im Firefox zu benutzen, wird über den Lesezeichenmanager in der Lesezeichen-Symbolleiste ein neuer Favorit erstellt.  Bei Adresse tragen wir <em>javascript:&lt;code&gt;</em> ein wobei <em>&lt;code&gt;</em>durch den obigen String ersetzt wird.</p>
<div id="attachment_442" class="wp-caption aligncenter" style="width: 387px"><a href="http://blog.root-of-all-evil.com/wp-content/uploads/2010/02/22.02.jpg" rel="lightbox[441]"><img class="size-full wp-image-442" title="Bookmarklet in Firefox" src="http://blog.root-of-all-evil.com/wp-content/uploads/2010/02/22.02.jpg" alt="" width="377" height="265" /></a><p class="wp-caption-text">Erstellen eines neuen Bookmarklets in Firefox</p></div>
<p>Nach dem Klick auf &#8220;Hinzufügen&#8221; werden nun alle Formulare auf der Seite welche man gerade betrachtet, von post in get konvertiert.</p>
<p>Alternativ reicht es auch diesen Link in die Favoritenleiste des Browsers zu ziehen: <a style="cursor: move;" title="PostToGet Bookmarklet" href="javascript:count=0;els=document.getElementsByTagName('form');for(i=0;i&lt;els.length;i++){if(!els[i].getAttribute('method')){attrib=document.createAttribute('method');attrib.nodeValue='get';els[i].setAttributeNode(attrib);count++}else if(els[i].getAttribute('method').toLowerCase()=='post'){els[i].setAttribute('method','get');count++}}alert(count+' form(s) transformed.');">PostToGetBookmarklet</a></p>
<p>Wird dann ein solches Formular abgeschickt, ist schnell ersichtlich welche Parameter welchen Wert besitzen &#8211; ohne das Änderungen an der Webseite selbst vorgenommen werden müssen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.root-of-all-evil.com/2010/02/bookmarklet-erstellen-methode-bei-html-formularen-andern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

