<?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>SEO блог и уеб програмиране &#187; XHTML</title>
	<atom:link href="http://ganbox.com/blog/tag/xhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://ganbox.com/blog</link>
	<description>SEO практика: трикове при оптимизация и решаване на проблеми при уеб програмиране.</description>
	<lastBuildDate>Sun, 20 May 2012 19:28:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Бъг в IE8 и Google Chrome</title>
		<link>http://ganbox.com/blog/%d0%b1%d1%8a%d0%b3-%d0%b2-ie8-%d0%b8-google-chrome/</link>
		<comments>http://ganbox.com/blog/%d0%b1%d1%8a%d0%b3-%d0%b2-ie8-%d0%b8-google-chrome/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 15:59:19 +0000</pubDate>
		<dc:creator>Георги Стефанов</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Internet Explorer 8]]></category>
		<category><![CDATA[SMS реклама]]></category>
		<category><![CDATA[URL адрес]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[бъг]]></category>
		<category><![CDATA[линк]]></category>

		<guid isPermaLink="false">http://ganbox.com/blog/?p=691</guid>
		<description><![CDATA[Вече двама души ми съобщиха, че под браузъри Google Chrome и Internet Explorer 8 блога ми не се изобразява правилно и двете колони вдясно се разместват. Направих проверка и наистина с тези браузъри текста от средната колона навлизаше в дясната колона и изместваше цялото и съдържание извън колоната (виж картинката). Като цяло кода на страницата [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ganbox.com/blog/wp-content/pub/ie8bug.png"><img class="alignnone size-medium wp-image-692" title="IE8 bug" src="http://ganbox.com/blog/wp-content/pub/ie8bug-209x300.png" alt="IE8 bug" width="100"  /></a>Вече двама души ми съобщиха, че под браузъри Google Chrome и Internet Explorer 8 блога ми не се изобразява правилно и двете колони вдясно се разместват.</p>
<p>Направих проверка и наистина с тези браузъри текста от средната колона навлизаше в дясната колона и изместваше цялото и съдържание извън колоната (виж картинката).</p>
<p>Като цяло кода на страницата си беше валиден XHTML и затова помислих, че става въпрос за промени по интерпретиране на CSS в тези нови браузъри. Прекледах какви са елементите на страницата. Двете колони вдясно са включени в две от колоните на HTML таблица. След доста време прекарано в преглеждане на CSS файла се сетих да проверя, кой е най-дългия от низовете в средната колона, който не съдържа интервали  и се оказа че е &#8222;sites.google.com/site/zabolekarvsofia&#8220; (посочен от червената стрелка на картинката). Тук ми хрумна, че е ако браузъра възприема този низ като една единствена дума е нормално да не го пренася на нов ред. Веднага направих проверка, като сложих един интервал след знака &#8222;/&#8220; и така открих този елементарен, но труден за откриване:</p>
<p><span style="color: #993300;">Проблем:</span></p>
<p>Internet explorer 8 и Google Chrome неправилно интерпретират знака / като буква, в резултат на което дълги низове с URL адреси не се пренасят на нов ред и разместват текста по страницата.</p>
<p><span style="color: #008000;">Решение:</span></p>
<p>В моя случай трябваше да се погрижа или по някакъв начин да пренеса низа или да го скъся до 25 символа, за да се събере в колоната, като едновременно с това връзката към страницата, която е платила за <a href="/blog/donate/#sms">SMS реклама</a> да си остане непроменена. Намерих кода на плъгина за SMS реклама в директория /wp-content/plugins и промених тази част, която показва връзките.</p>
<p>Заместих реда:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;li&gt;&lt;a href=<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #006699; font-weight: bold;">{$http_link}</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;<span style="color: #006699; font-weight: bold;">{$row-&gt;link}</span>&lt;/a&gt;&lt;/li&gt;&quot;</span><span style="color: #339933;">;</span></div></div>
<p>със следния код:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$link_text</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #339933;">-&gt;</span><a href="http://www.php.net/link"><span style="color: #990000;">link</span></a><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$link_text</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/preg_replace"><span style="color: #990000;">preg_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'|/|'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ '</span><span style="color: #339933;">,</span><span style="color: #000088;">$link_text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><a href="http://www.php.net/mb_strlen"><span style="color: #990000;">mb_strlen</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$link_text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$link_text</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mb_substr"><span style="color: #990000;">mb_substr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$link_text</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'...'</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;li&gt;&lt;a href=<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #006699; font-weight: bold;">{$http_link}</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;<span style="color: #006699; font-weight: bold;">{$link_text}</span>&lt;/a&gt;&lt;/li&gt;&quot;</span><span style="color: #339933;">;</span></div></div>
<p>Това ще доведе до пренасяне на нов ред на връзките след знака / ако не се събере в колоната. Текста на връзката става на повече от един ред, като адреса на линка остава непроменен. За всеки случай добавих и съкращаване на връзките до 25 сивмола, защото освен знака / е възможно да има и други знаци интерпретирани като букви. </p>
<p>Пробвах дали има проблем с други знаци:<br />
не се пренасят на нов ред  <strong>_ , . @ &#038; ? + = ;</strong> пренася се на нов ред <strong>-</strong>  това важи за всички браузъри.<br />
Знаците <strong>/   \</strong> се обработват различно в различните браузъри &#8211; IE8 и Chrome не ги пренасят, Firefox &#8211; да.<br />
Интересно е че със знака <strong>!</strong> е обратно &#8211; при IE8 низа се пренася, а при Firefox и Chrome не.</p>
<p>Това са особености на браузърите, с които трябва да се съобразяваш, когато поставяш дълъг низ на място с ограничена ширина.</p>
<div style="float:right;display:block" class="counterViews">Брой разглеждания на тази статия: <b>3688</b></div>]]></content:encoded>
			<wfw:commentRss>http://ganbox.com/blog/%d0%b1%d1%8a%d0%b3-%d0%b2-ie8-%d0%b8-google-chrome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP strlen() и текстове на кирилица</title>
		<link>http://ganbox.com/blog/php-strlen-%d0%b8-%d1%82%d0%b5%d0%ba%d1%81%d1%82%d0%be%d0%b2%d0%b5-%d0%bd%d0%b0-%d0%ba%d0%b8%d1%80%d0%b8%d0%bb%d0%b8%d1%86%d0%b0/</link>
		<comments>http://ganbox.com/blog/php-strlen-%d0%b8-%d1%82%d0%b5%d0%ba%d1%81%d1%82%d0%be%d0%b2%d0%b5-%d0%bd%d0%b0-%d0%ba%d0%b8%d1%80%d0%b8%d0%bb%d0%b8%d1%86%d0%b0/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 18:27:14 +0000</pubDate>
		<dc:creator>Георги Стефанов</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Уеб програмиране]]></category>
		<category><![CDATA[mbstring]]></category>
		<category><![CDATA[mb_strlen]]></category>
		<category><![CDATA[mb_substr]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[strlen]]></category>
		<category><![CDATA[substr]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[съвет]]></category>
		<category><![CDATA[уеб форма]]></category>
		<category><![CDATA[урок]]></category>

		<guid isPermaLink="false">http://ganbox.com/blog/?p=676</guid>
		<description><![CDATA[Проблем Вече в няколко сайта уеб директории, забелязвам следния проблем: в уеб формата за качване на сайт полетата имат ограничение в броя на символите, което е нормално, но е проблем, когато пише, че може да въведеш 100 символа, а реално можеш да въведеш само 50. Още по-досадно и времеотнемащо е, ако софтуера създаващ уеб формата [...]]]></description>
			<content:encoded><![CDATA[<h3>Проблем</h3>
<p>Вече в няколко сайта уеб директории, забелязвам следния проблем: в уеб формата за качване на сайт полетата имат ограничение в броя на символите, което е нормално, но е проблем, когато пише, че може да въведеш 100 символа, а реално можеш да въведеш само 50. Още по-досадно и времеотнемащо е, ако софтуера създаващ уеб формата не се грижи да запомни всички въведени полета и при грешка в едно от полетата изтрива всички полета &#8211; за форми с много полета това е направо кошмар, защото трябва да въвеждаш всичко отначало.</p>
<p>Най-фрапиращ случай за това е сайта bestbgsites.com. Не е лесно да добавиш линк в този сайт. Гърми грешката: &#8222;Името на сайта е прекалено дълго! Може да бъде 85 символа&#8220; проблема е, че ако заглавието е на кирилица дължината е до 42 символа  Описанието пише, че може да бъде до 255 символа, но реално са 127.  Има и кратко описание до 30 символа (реално 15), което е трудно за измисляне. Ако сбъркаш някое от полетата всичките въведени данни се изтриват и трябва да се попълват повторно <img src='http://ganbox.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Същия проблем има и сайта bglogs.com, като тук формата запомня полетата, но пък има ограничение в броя на грешните опити, след което пак трябва да започнеш на чисто. Полетата Описание и META Description пише, че имат лимит 500 символа и дори има Javascript, който намалява брояча на символите при всяко натискане на клавиш, когато въвеждаш в полето. Проблемът идва, когато изпратиш данните към сървъра, той ги проверява и ти показва, че си превишил доста лимита. В полето Заглавие е още по-трудно, защото лимита е замислен да бъде 100 символа, но на кирилица са само 50.</p>
<h3>Обяснение</h3>
<p>Тези проблеми се получават, защото представянето на всеки символ на кирилица при UTF8 е в 2 байта. Сайтовете ползват готов безплатен софтуер писан от англо-говорящи, които са свикнали при проверка държина на низ да използват PHP функцията strlen(),  която работи на ниво байтове и затова тази функция преброява низ на кирилица с дължина 50 символа, като низ с дължина 100 символа.</p>
<h3>Решение</h3>
<p>Решението е много лесно, но трябва да бъде извършено от собственика на сайта. Трябва функцията strlen() да се замени с функцията mb_strlen(), която се съобразява с енкодинга и правилно преброява низ независимо на какъв език е написан. Тази функция се осигурява от библиотеката mbstring (Multibyte String), която за щастие отдавна се поддържа от всички български хостинг доставчици.</p>
<h3>Отрязване на низ на кирилица</h3>
<p>Подобен проблем се получава, ако отрязваш низ на кирилица в енкодинг UTF8 например показване на извадка от новина. Ако искаш да покажеш първите 200 символа от новина и направиш</p>
<p>$text = substr($text, 0, 200);</p>
<p>като резултат ще имаш първите 100 символа, като е възможно последния символ да бъде &#8222;срязан по средата&#8220;, в смисъл, че от двата байта, с които е представен ще остане само първия и в резултат на това в страницата ще бъде показан странен символ, който е невалиден UTF8 символ и чупи страницата. В резултат на това страницата няма да може да бъде валидирана, като XHTML документ. Нямам лични наблюдения как се отразява това на <a title="seo оптимизация на бизнес сайт" href="/seo" target="_blank">SEO</a>, но предполагам, че е проблем за ботовете на много от търсачките.</p>
<p>За да решиш този проблем трябва просто да замениш функцията substr() с функцията mb_substr(), като разбира се библиотеката mbstring трябва да е предварително инсталирана.</p>
<h3>Заключение</h3>
<p>Изрично искам да отбележа, че нямам нищо против споменатите два сайта и целта на статията ми не е да ги злепостави, а да помогне на тях и на всички, които имат сайт, който ползва готов софтуер, в който не е помислено, че ще се въвежда нещо различно от латински символи.</p>
<div style="float:right;display:block" class="counterViews">Брой разглеждания на тази статия: <b>3939</b></div>

<p>Подобни статии:<ol><li><a href='http://ganbox.com/blog/%d0%be%d0%bf%d1%82%d0%b8%d0%bc%d0%b8%d0%b7%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%b1%d1%8a%d1%80%d0%b7%d0%be%d0%b4%d0%b5%d0%b9%d1%81%d1%82%d0%b2%d0%b8%d0%b5%d1%82%d0%be/' rel='bookmark' title='Permanent Link: Оптимизиране на бързодействието на сайт'>Оптимизиране на бързодействието на сайт</a> <small>Пиша тази статия като продължение на статията PHP парсване на...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://ganbox.com/blog/php-strlen-%d0%b8-%d1%82%d0%b5%d0%ba%d1%81%d1%82%d0%be%d0%b2%d0%b5-%d0%bd%d0%b0-%d0%ba%d0%b8%d1%80%d0%b8%d0%bb%d0%b8%d1%86%d0%b0/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Премахване на грешки в сайт и преминаване към XHTML</title>
		<link>http://ganbox.com/blog/%d0%bf%d1%80%d0%b5%d0%bc%d0%b0%d1%85%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-html-%d0%b3%d1%80%d0%b5%d1%88%d0%ba%d0%b8/</link>
		<comments>http://ganbox.com/blog/%d0%bf%d1%80%d0%b5%d0%bc%d0%b0%d1%85%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-html-%d0%b3%d1%80%d0%b5%d1%88%d0%ba%d0%b8/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 12:17:52 +0000</pubDate>
		<dc:creator>gan</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Валиден HTML код]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML грешки]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[анимация]]></category>
		<category><![CDATA[валидатор]]></category>
		<category><![CDATA[отстраняване на грешки]]></category>
		<category><![CDATA[превъртане на новини]]></category>
		<category><![CDATA[премахване на грешки]]></category>
		<category><![CDATA[проверка за грешки]]></category>
		<category><![CDATA[скролер]]></category>
		<category><![CDATA[скролиране на текст]]></category>
		<category><![CDATA[урок]]></category>
		<category><![CDATA[флаш]]></category>

		<guid isPermaLink="false">http://ganbox.com/blog/?p=76</guid>
		<description><![CDATA[Тази статия е за често срещани HTML грешки в сайтовете и оправянето им с помощта на HTML валидатора http://validator.w3.org  Валидаторът дава доста подробни обяснения, но понякога решението не е очевидно. Тук разглеждам именно такива трудни за отстраняване грешки. Нямам намерение да убеждавам някой, че трябва да изчисти грешките в своя сайт &#8211; приемам, че отдавна [...]]]></description>
			<content:encoded><![CDATA[<p>Тази статия е за често срещани HTML грешки в сайтовете и оправянето им с помощта на HTML валидатора http://validator.w3.org  Валидаторът дава доста подробни обяснения, но понякога решението не е очевидно. Тук разглеждам именно такива трудни за отстраняване грешки.</p>
<p>Нямам намерение да убеждавам някой, че трябва да изчисти грешките в своя сайт &#8211; приемам, че отдавна е убеден, че това е полезно не само от SEO гледна точка, но и поради улесняване на достъпа на незрящи посетители до сайта.</p>
<p>Изчистването на HTML код от грешки може да бъде непосилна задача за доста хора. Какво ще стане ако напишеш името на твоя домейн във валидатора и видиш резултат &#8222;Result:  525   Errors, 226 warning(s)&#8220;. Най-важното &#8222;Без паника!&#8220;, големия брой грешки не трябва да те впечатлява, защото грешките са взаимно свързани &#8211; изчистването на една грешка може да премахне много след нея.</p>
<p>Ето често срещани примери за грешки и тяхното отстраняване.</p>
<h3><strong>1. Премахване на атрибути на тага body.</strong></h3>
<p><span style="color: #993300;">Грешка:</span><br />
<em>Line 14, Column 36</em>:         <strong><span class="msg">Attribute &#8222;leftmargin&#8220; is not a valid attribute</span></strong><br />
&lt;body bgcolor=&#8220;#D9D5D2&#8243; leftmargin=<strong title="Position where error was detected.">&#8222;</strong>0&#8243; topmargin=&#8220;0&#8243; marginwidth=&#8220;0&#8243; marginheight=&#8220;0&#8243;&gt;<br />
<span style="color: #008000;">Решение:</span></p>
<p>Премахват се атрибутите на тага <strong>body</strong> и се поставя техен аналог в главния CSS файл.</p>
<p>Ако твоя сайт няма  CSS файл. Създай в главната уеб директория празен текстов файл style.css и добави в HTML файла между <strong>head</strong> таговете реда:</p>
<p>&lt;link rel=&#8220;stylesheet&#8220; href=&#8220;/style.css&#8220; type=&#8220;text/css&#8220; media=&#8220;screen,print&#8220; /&gt;</p>
<p>след това промени боди тага в HTML файла така:<br />
&lt;body&gt;<br />
Във файла style.css се поставят правилата:<br />
body {<br />
    text-align: center;<br />
    margin: 0;<br />
    padding: 0;<br />
    background-color: #D9D5D2;<br />
}</p>
<h3><strong>2. Заместване на тага embed с object.</strong></h3>
<p>Тага embed е остарял таг за включване на Flash анимация в страницата.</p>
<p><span style="color: #993300;">Грешка:</span></p>
<p><em>Line 136, Column 12</em>: <strong><span class="msg">Attribute &#8222;SRC&#8220; is not a valid attribute. Did you mean &#8222;src&#8220;?</span></strong></p>
<p>&lt;embed src=<strong title="Position where error was detected.">&#8222;</strong>images/bcastr31.swf&#8220; width=880 height=330 quality=&#8220;high&#8220; TYPE=&#8220;appli</p>
<p><span style="color: #008000;">Решение:</span></p>
<p>Премахване на таг embed разглеждам в отделна статия <a href="../%d0%a4%d0%bb%d0%b0%d1%88-%d0%b0%d0%bd%d0%b8%d0%bc%d0%b0%d1%86%d0%b8%d1%8f-%d0%b1%d0%b5%d0%b7-%d1%82%d0%b0%d0%b3-embed-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/">Флаш анимация без таг embed за валиден XHTML</a></p>
<h3><strong>3. Премахване на атрибута onload на тага img.</strong></h3>
<p id="line1"><span class="attribute-value">Уеб страници създадени с програмата &#8222;Web Page Maker&#8220;, които съдържат картинки в навигацията, имат атрибут onLoad на img таговете. Той вика JavaScript функцият</span>а MM_preloadImages(). Този код е невалиден и дава следната грешка:
</p>
<p><span style="color: #993300;">Грешка:</span></p>
<p><em>Line 96, Column 228</em>:         <strong><span class="msg">Attribute &#8222;ONLOAD&#8220; is not a valid attribute. Did you mean &#8222;onload&#8220;?</span></strong><br />
…eria.html&#8220;&gt;&lt;img name=&#8220;nav20&#8243; onLoad=<strong title="Position where error was detected.">&#8222;</strong>MM_preloadImages(&#8216;images/nav1.gif&#8230;<br />
HTML кода, който поражда грешката, изглежда като този:<br />
&lt;<span class="start-tag">div</span><span class="attribute-name"> id</span>=<span class="attribute-value">&#8222;nav1&#8243;</span>&gt;&lt;<span class="start-tag">a</span><span class="attribute-name"> onMouseOut</span>=<span class="attribute-value">&#8222;MM_swapImgRestore()&#8220; </span><span class="attribute-name"><br />
  onMouseOver</span>=<span class="attribute-value">&#8222;MM_swapImage(&#8216;nav1&#8242;,&#8220;,&#8217;images/nav1.gif&#8217;,1)&#8220; </span><span class="attribute-name">href</span>=<span class="attribute-value">&#8222;index.html&#8220;</span>&gt;<br />
&lt;<span class="start-tag">img</span><span class="attribute-name"> name</span>=<span class="attribute-value">&#8222;nav1&#8243; </span><span class="attribute-name">onLoad</span>=<span class="attribute-value">&#8222;MM_preloadImages(&#8216;images/nav1.gif&#8217;)&#8220; </span><span class="attribute-name"><br />
  alt</span>=<span class="attribute-value">&#8222;&#8220; </span><span class="attribute-name">border</span>=<span class="attribute-value">0 </span><span class="attribute-name">src</span>=<span class="attribute-value">&#8222;images/nav1.gif&#8220; </span><span class="attribute-name">width</span>=<span class="attribute-value">&#8222;180&#8243; </span><span class="attribute-name">height</span>=<span class="attribute-value">&#8222;26&#8243;</span>&gt;&lt;/<span class="end-tag">a</span>&gt;<br />
&lt;/<span class="end-tag">div</span>&gt;<br />
<span style="color: #008000;">Решение:</span></p>
<p>За да направя кода валиден и да запазя функциалността, просто премествам атрибута в тага body за всички бутони от навигацията.<br />
&lt;<span class="start-tag">body</span><span class="attribute-name"> onload</span>=<span class="attribute-value">&#8222;MM_preloadImages(&#8216;images/nav1.gif&#8217;);MM_preloadImages(&#8216;images/nav2.gif&#8217;);&#8220;</span>&gt;<br />
а горния код се съкращава до:<br />
&lt;<span class="start-tag">div</span><span class="attribute-name"> id</span>=<span class="attribute-value">&#8222;nav1&#8243;</span>&gt;&lt;<span class="start-tag">a</span><span class="attribute-name"> onmouseout</span>=<span class="attribute-value">&#8222;MM_swapImgRestore()&#8220; </span><span class="attribute-name"><br />
  onmouseover</span>=<span class="attribute-value">&#8222;MM_swapImage(&#8216;nav1&#8242;,&#8220;,&#8217;images/nav1.gif&#8217;,1)&#8220; </span><span class="attribute-name">href</span>=<span class="attribute-value">&#8222;index.html&#8220;</span>&gt;<br />
&lt;<span class="start-tag">img</span><span class="attribute-name"> name</span>=<span class="attribute-value">&#8222;nav1&#8243; </span><span class="attribute-name">alt</span>=<span class="attribute-value">&#8222;&#8220; </span><span class="attribute-name">border</span>=<span class="attribute-value">0 </span><span class="attribute-name">src</span>=<span class="attribute-value">&#8222;images/nav1.gif&#8220; </span><span class="attribute-name">width</span>=<span class="attribute-value">&#8222;180&#8243; </span><span class="attribute-name">height</span>=<span class="attribute-value">&#8222;26&#8243;</span>&gt;&lt;/<span class="end-tag">a</span>&gt;<br />
&lt;/<span class="end-tag">div</span>&gt;<br />
Променени са също <span class="attribute-name">onmouseout</span> и <span class="attribute-name">onmouseover</span> с малки букви. Всичко това води до валиден XHTML код.</p>
<h3>4. Заместване на тага marquee с jQuery скролер на текст.</h3>
<p>Тага marquee е много остарял таг и не е по XHTML стандарта. При поставяне на текст между тагове marquee текста започва да се движи хоризонтално или вертикално. С използването на този таг браузерът натоварва процесора и движението е насечено, изглежда много грозно и трудно се чете от посетители на сайта. При валидиране на страницата валидатора дава следната грешка:</p>
<p><span style="color: #993300;">Грешка:</span></p>
<p><em>Line 41, Column 52</em>:         <strong><span class="msg">Attribute “DIRECTION” is not a valid attribute</span></strong><br />
&lt;marquee direction=<strong title="Position where error was detected.">&#8222;</strong>up&#8220;<span style="color: #993300;"> </span>scrollamount=&#8220;2&#8243; loop=&#8220;true&#8220;&gt;&lt;ul&gt;&#8230;<br />
<span style="color: #993300;"><br />
</span></p>
<p><span style="color: #008000;">Решение:</span></p>
<p>Най-доброто решение за заместване на този таг безспорно е с използване на JavaScript.</p>
<p>Подробно решение на проблема съм дал в статията <a href="../%d0%97%d0%b0%d0%bc%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%82%d0%b0%d0%b3%d0%b0-marquee-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/">Заместване на тага marquee за валиден XHTML</a></p>
<p>Това са едни от най-често срещаните грешки. Ако някой среща затруднение с грешка, която не може да разбере, нека пише коментар като пусне връзка към сайта.</p>
<h3>5. Ползвай &amp;amp; вместо &amp; при параметри на скрипт.</h3>
<p><span style="color: #993300;">Грешка:</span></p>
<p><em>Line 53, Column 49</em>:         <strong><span class="msg">cannot generate system identifier for general entity &#8222;dropdown_id&#8220;</span></strong><br />
…s=&#8220;lang&#8220;&gt;&lt;a href=&#8220;/page.php?lang=bg&amp;<strong title="Position where error was detected.">d</strong>ropdown_id=30&#8243; class=&#8220;bul&#8220;&gt;BG&lt;/a&gt; &lt;a hre&#8230;<br />
<span style="color: #008000;">Решение:</span></p>
<p>Замени всички &amp; с &amp;amp; в параметри на връзките.</p>
<p>Пример:<br />
/page.php?lang=bg&amp;dropdown_id=30<br />
става<br />
/page.php?lang=bg&amp;amp;dropdown_id=30</p>
<h3>6. Не ползвай блокови тагове включени в inline тагове.</h3>
<p><span style="color: #993300;">Грешка:</span></p>
<p><em>Line 172, Column 85</em>:         <strong><span class="msg">document type does not allow element &#8222;h1&#8243; here; missing one of &#8222;object&#8220;, &#8222;ins&#8220;, &#8222;del&#8220;, &#8222;map&#8220;, &#8222;button&#8220; start-tag</span></strong><br />
…&#8220; title=&#8220;Начало форум&#8220; id=&#8220;logo&#8220;&gt;&lt;h1<strong title="Position where error was detected.">&gt;</strong>ganbox.com SEO форум&lt;/h1&gt;&lt;/a&gt;&lt;/div&gt;</p>
<p><span style="color: #008000;">Решение:</span></p>
<p>Таг h1 не може да се включва в тага a. Просто размени местата им от:<br />
<span style="color: #800000;">&lt;<span class="start-tag">a</span><span class="attribute-name"> href</span>=<span class="attribute-value">&#8222;./index.php&#8220; </span><span class="attribute-name">title</span>=<span class="attribute-value">&#8222;Начало форум&#8220; </span><span class="attribute-name">id</span>=<span class="attribute-value">&#8222;logo&#8220;</span>&gt;&lt;<span class="start-tag">h1</span>&gt;ganbox.com SEO форум&lt;/<span class="end-tag">h1</span>&gt;&lt;/<span class="end-tag">a</span>&gt;</span><br />
на:<br />
<span style="color: #008000;">&lt;h1&gt;&lt;a href=&#8220;./index.php&#8220; title=&#8220;Начало форум&#8220; id=&#8220;logo&#8220;&gt;ganbox.com SEO форум&lt;/a&gt;&lt;/h1&gt;<br />
</span><br />
Тук съм дал само някои от най-често срещаните грешки. Периодично ще допълвам статията, ако измисля още.</p>
<p>Веднъж като схванеш принципа на действие и ще ти става все по лесно да изчистваш грешките от своя сайт.</p>
<p>С безплатния инструмент <a href="http://ganbox.com/seo-status">SEO състояние на сайт</a> можеш да проверяваш началната страница на сайт за HTML грешки, както и много друга полезна SEO информация за сайта.</p>
<div style="float:right;display:block" class="counterViews">Брой разглеждания на тази статия: <b>3766</b><br /><span style="color:grey;font-size:0.8em">(след дата 20 декември 2009)</span></div>

<p>Подобни статии:<ol><li><a href='http://ganbox.com/blog/%d0%b7%d0%b0%d0%bc%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%82%d0%b0%d0%b3%d0%b0-marquee-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/' rel='bookmark' title='Permanent Link: Заместване на тага marquee за валиден XHTML'>Заместване на тага marquee за валиден XHTML</a> <small>HTML тага marquee се използва за автоматично скролиране на текст....</small></li>
<li><a href='http://ganbox.com/blog/%d1%84%d0%bb%d0%b0%d1%88-%d0%b0%d0%bd%d0%b8%d0%bc%d0%b0%d1%86%d0%b8%d1%8f-%d0%b1%d0%b5%d0%b7-%d1%82%d0%b0%d0%b3-embed-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/' rel='bookmark' title='Permanent Link: Флаш анимация без таг embed за валиден XHTML'>Флаш анимация без таг embed за валиден XHTML</a> <small>В този урок за SEO оптимизиране се показва как уеб...</small></li>
<li><a href='http://ganbox.com/blog/xhtml-%d0%b8-%d0%b7%d0%b0%d0%bc%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%82%d0%b0%d0%b3%d0%b0-embed/' rel='bookmark' title='Permanent Link: XHTML и заместване на тага embed'>XHTML и заместване на тага embed</a> <small>Тага embed служи за вмъкване на видео или аудио файл...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://ganbox.com/blog/%d0%bf%d1%80%d0%b5%d0%bc%d0%b0%d1%85%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-html-%d0%b3%d1%80%d0%b5%d1%88%d0%ba%d0%b8/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Заместване на тага marquee за валиден XHTML</title>
		<link>http://ganbox.com/blog/%d0%b7%d0%b0%d0%bc%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%82%d0%b0%d0%b3%d0%b0-marquee-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/</link>
		<comments>http://ganbox.com/blog/%d0%b7%d0%b0%d0%bc%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%82%d0%b0%d0%b3%d0%b0-marquee-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 08:28:30 +0000</pubDate>
		<dc:creator>gan</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Валиден HTML код]]></category>
		<category><![CDATA[Easy Slider 1.5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[marquee]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[движещ се текст]]></category>
		<category><![CDATA[плъзгане на картинки]]></category>
		<category><![CDATA[превъртане на новини]]></category>
		<category><![CDATA[скролиране на картинки]]></category>
		<category><![CDATA[скролиране на текст]]></category>
		<category><![CDATA[скролиране новини]]></category>
		<category><![CDATA[слайдър]]></category>
		<category><![CDATA[урок]]></category>

		<guid isPermaLink="false">http://ganbox.com/blog/?p=121</guid>
		<description><![CDATA[HTML тага marquee се използва за автоматично скролиране на текст. Текста поставен между тагове marquee се показва от браузъра като движещ се текст, хоризонтално или вертикално. Не използвай тага marquee основно по следните причини: кода на страницата, която съдържа marquee не е валиден XHTML; браузъра натоварва процесора на компютъра;  движението не е плавно, а накъсано [...]]]></description>
			<content:encoded><![CDATA[<p>HTML тага <strong>marquee</strong> се използва за автоматично скролиране на текст. Текста поставен между тагове <strong>marquee</strong> се показва от браузъра като движещ се текст, хоризонтално или вертикално. <span style="color: #993300;">Не използвай тага</span> <span style="color: #993300;"><strong>marquee</strong></span> основно по следните причини: кода на страницата, която съдържа <strong>marquee </strong>не е валиден XHTML; браузъра натоварва процесора на компютъра;  движението не е плавно, а накъсано и като резултат от това изглежда грозно и се чете трудно. Грозни примери има <a href="http://jdstiles.com/java/marqueeprops.html">тук</a>.</p>
<p>Да приемем, че имаш страница която съдържа код за превъртане на новини. Подобен на този:<br />
<span style="color: #993300;">&lt;div class=&#8220;news&#8220;&gt;<br />
  &lt;marquee direction=&#8220;up&#8220; scrollamount=&#8220;2&#8243; loop=&#8220;true&#8220;&gt;<br />
  &lt;ul&gt;<br />
   &lt;li&gt;&lt;h4&gt;&lt;span class=&#8220;orange&#8220;&gt;Заглавие 1&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;Текст новина 1&lt;/p&gt;&lt;/li&gt;<br />
   &lt;li&gt;&lt;h4&gt;&lt;span class=&#8220;orange&#8220;&gt;Заглавие 2&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;Текст новина 2&lt;/p&gt;&lt;/li&gt;<br />
   &lt;li&gt;&lt;h4&gt;&lt;span class=&#8220;orange&#8220;&gt;Заглавие 3&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;Текст новина 3&lt;/p&gt;&lt;/li&gt;<br />
  &lt;/ul&gt;<br />
  &lt;/marquee&gt;<br />
&lt;/div&gt;</span><br />
При опит страницата да мине през <a href="http://validator.w3.org">валидатора</a> се получава грешка подобна на следната:</p>
<p><em>Line 41, Column 52</em>:         <strong><span class="msg">Attribute &#8222;DIRECTION&#8220; is not a valid attribute</span></strong><br />
&lt;marquee direction=<strong title="Position where error was detected.">&#8222;</strong>up&#8220;<span style="color: #993300;"> </span>scrollamount=&#8220;2&#8243; loop=&#8220;true&#8220;&gt;&lt;ul&gt;&#8230;</p>
<div class="ve mid-108">
<p>You have used the attribute named above in your document, but the       document type you are using does not support that attribute for this       element.</p>
<h3>Заместване на тага marquee с jQuery</h3>
<p>Най-доброто решение на проблема е като тази част от кода за показване на новини се преработи на JavaScript.</p>
<p>Следния пример се базира на кода на <a href="http://cssglobe.com/post/4004/easy-slider-15-the-easiest-jquery-plugin-for-sliding">Easy Slider 1.5 </a>за скролиране на текстово съдържание и на картинки. Този код от своя страна разчита на библиотеката jQuery.</p>
<p>Копирай файловете:</p>
<p><span class="attribute-value">http://arthuradams.bg/jscripts/jquery.js</span></p>
<p><span class="attribute-value">http://arthuradams.bg/jscripts/</span><span class="attribute-value">easySlider1.5.js</span></p>
<p><span class="attribute-value">http://arthuradams.bg/jscripts/</span><span class="attribute-value">slider.js</span></p>
<p>и ги качи в директория <span class="attribute-value">jscripts</span>, която се намира в главната уеб директория.</p>
<p><span class="attribute-value">Файла http://arthuradams.bg/</span><span class="attribute-value">css/slider.css</span> постави в /css</p>
<p>Файловете за бутончета за превъртане (правени от мен)</p>
<p>http://arthuradams.bg/images/btn_prev.gif</p>
<p>http://arthuradams.bg/images/btn_next.gif</p>
<p>постави в директория /images</p>
<p>В страницата която ще показва новините между таговете head включи файловете<br />
<span style="color: #008000;">&lt;<span class="start-tag">script</span><span class="attribute-name"> type</span>=<span class="attribute-value">&#8222;text/javascript&#8220; </span><span class="attribute-name">src</span>=<span class="attribute-value">&#8222;jscripts/jquery.js&#8220;</span>&gt;&lt;/<span class="end-tag">script</span>&gt;<br />
&lt;<span class="start-tag">script</span><span class="attribute-name"> type</span>=<span class="attribute-value">&#8222;text/javascript&#8220; </span><span class="attribute-name">src</span>=<span class="attribute-value">&#8222;jscripts/easySlider1.5.js&#8220;</span>&gt;&lt;/<span class="end-tag">script</span>&gt;<br />
&lt;<span class="start-tag">script</span><span class="attribute-name"> type</span>=<span class="attribute-value">&#8222;text/javascript&#8220; </span><span class="attribute-name">src</span>=<span class="attribute-value">&#8222;jscripts/slider.js&#8220;</span>&gt;&lt;/<span class="end-tag">script</span>&gt;<br />
&lt;<span class="start-tag">link</span><span class="attribute-name"> href</span>=<span class="attribute-value">&#8222;css/slider.css&#8220; </span><span class="attribute-name">rel</span>=<span class="attribute-value">&#8222;stylesheet&#8220; </span><span class="attribute-name">type</span>=<span class="attribute-value">&#8222;text/css&#8220; </span><span class="attribute-name">media</span>=<span class="attribute-value">&#8222;screen&#8220; </span><span class="error"><span class="attribute-name">/</span></span>&gt;</span><br />
Замествам целия блок div id=news с:<br />
<span style="color: #008000;">&lt;<span class="start-tag">div</span><span class="attribute-name"> id</span>=<span class="attribute-value">&#8222;slider&#8220;</span>&gt;<br />
&lt;ul&gt;<br />
   &lt;li&gt;&lt;h4&gt;&lt;span class=&#8220;orange&#8220;&gt;Заглавие 1&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;Текст новина 1&lt;/p&gt;&lt;/li&gt;<br />
   &lt;li&gt;&lt;h4&gt;&lt;span class=&#8220;orange&#8220;&gt;Заглавие 2&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;Текст новина 2&lt;/p&gt;&lt;/li&gt;<br />
   &lt;li&gt;&lt;h4&gt;&lt;span class=&#8220;orange&#8220;&gt;Заглавие 3&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;Текст новина 3&lt;/p&gt;&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/<span class="end-tag">div</span>&gt;</span><br />
Това е. Получения код е валиден XHTML и движението е много по-плавно.  Освен това можеш да използваш бутончето стрелка нагоре, за да се върнеш на предната новина при което движението спира, за да може да я прочетеш спокойно. Настройки за движението, като скорост, секунди за които спират новините и др.  се задават от файла jscripts/slider.js</p>
<p>Работещ код има във всяка страница на сайта за <a href="http://arthuradams.bg">обучения по мениджмънт и маркетинг</a> arthuradams.bg</p>
<p>Слайдерът може да скролира не само текст, но и картинки.</p></div>
<div style="float:right;display:block" class="counterViews">Брой разглеждания на тази статия: <b>3809</b><br /><span style="color:grey;font-size:0.8em">(след дата 20 декември 2009)</span></div>

<p>Подобни статии:<ol><li><a href='http://ganbox.com/blog/%d1%84%d0%bb%d0%b0%d1%88-%d0%b0%d0%bd%d0%b8%d0%bc%d0%b0%d1%86%d0%b8%d1%8f-%d0%b1%d0%b5%d0%b7-%d1%82%d0%b0%d0%b3-embed-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/' rel='bookmark' title='Permanent Link: Флаш анимация без таг embed за валиден XHTML'>Флаш анимация без таг embed за валиден XHTML</a> <small>В този урок за SEO оптимизиране се показва как уеб...</small></li>
<li><a href='http://ganbox.com/blog/xhtml-%d0%b8-%d0%b7%d0%b0%d0%bc%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%82%d0%b0%d0%b3%d0%b0-embed/' rel='bookmark' title='Permanent Link: XHTML и заместване на тага embed'>XHTML и заместване на тага embed</a> <small>Тага embed служи за вмъкване на видео или аудио файл...</small></li>
<li><a href='http://ganbox.com/blog/%d0%bf%d1%80%d0%b5%d0%bc%d0%b0%d1%85%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-html-%d0%b3%d1%80%d0%b5%d1%88%d0%ba%d0%b8/' rel='bookmark' title='Permanent Link: Премахване на грешки в сайт и преминаване към XHTML'>Премахване на грешки в сайт и преминаване към XHTML</a> <small>Тази статия е за често срещани HTML грешки в сайтовете...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://ganbox.com/blog/%d0%b7%d0%b0%d0%bc%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%82%d0%b0%d0%b3%d0%b0-marquee-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Флаш анимация без таг embed за валиден XHTML</title>
		<link>http://ganbox.com/blog/%d1%84%d0%bb%d0%b0%d1%88-%d0%b0%d0%bd%d0%b8%d0%bc%d0%b0%d1%86%d0%b8%d1%8f-%d0%b1%d0%b5%d0%b7-%d1%82%d0%b0%d0%b3-embed-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/</link>
		<comments>http://ganbox.com/blog/%d1%84%d0%bb%d0%b0%d1%88-%d0%b0%d0%bd%d0%b8%d0%bc%d0%b0%d1%86%d0%b8%d1%8f-%d0%b1%d0%b5%d0%b7-%d1%82%d0%b0%d0%b3-embed-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 23:40:17 +0000</pubDate>
		<dc:creator>gan</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Валиден HTML код]]></category>
		<category><![CDATA[Уеб програмиране]]></category>
		<category><![CDATA[embed]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[swfobject]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[анимация]]></category>
		<category><![CDATA[валиден]]></category>
		<category><![CDATA[урок]]></category>
		<category><![CDATA[филм]]></category>
		<category><![CDATA[флаш]]></category>

		<guid isPermaLink="false">http://ganbox.com/blog/?p=110</guid>
		<description><![CDATA[В този урок за SEO оптимизиране се показва как уеб страница, която показва swf флаш анимация да бъде преработена към валиден XHTML код. В примера се приема, че флаша се намира в директория /flash/2009.swf и има размери 294 ширина и 260 височина на полето за анимацията. Ако кода е писан отдавна, вероятно ще изглежда подобно [...]]]></description>
			<content:encoded><![CDATA[<p>В този урок за SEO оптимизиране се показва как уеб страница, която показва swf флаш анимация да бъде преработена към валиден XHTML код.</p>
<p>В примера се приема, че флаша се намира в директория <span class="attribute-value">/flash/2009.swf</span> и има размери 294 ширина и 260 височина на полето за анимацията.</p>
<p>Ако кода е писан отдавна, вероятно ще изглежда подобно на този:</p>
<pre id="line177"><span style="color: #993300;">&lt;<span class="start-tag">object</span><span class="attribute-name"> classid</span>=<span class="attribute-value">"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" </span><span class="attribute-name">
  codebase</span>=<span class="attribute-value">"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" </span><span class="attribute-name">
  width</span>=<span class="attribute-value">"294" </span><span class="attribute-name">height</span>=<span class="attribute-value">"260"</span>&gt;
  &lt;<span class="start-tag">param</span><span class="attribute-name"> name</span>=<span class="attribute-value">"movie" </span><span class="attribute-name">value</span>=<span class="attribute-value">"http://arthuradams.bg/flash/2009.swf" </span><span class="error"><span class="attribute-name">/</span></span>&gt;
  &lt;<span class="start-tag">param</span><span class="attribute-name"> name</span>=<span class="attribute-value">"quality" </span><span class="attribute-name">value</span>=<span class="attribute-value">"high" </span><span class="error"><span class="attribute-name">/</span></span>&gt;
  &lt;<span class="start-tag">param</span><span class="attribute-name"> name</span>=<span class="attribute-value">"wmode" </span><span class="attribute-name">value</span>=<span class="attribute-value">"opaque" </span><span class="error"><span class="attribute-name">/</span></span>&gt;
  &lt;<span class="start-tag">embed</span><span class="attribute-name"> src</span>=<span class="attribute-value">"http://arthuradams.bg/flash/2009.swf" </span><span class="attribute-name">wmode</span>=<span class="attribute-value">"opaque" </span><span class="attribute-name">quality</span>=<span class="attribute-value">"high" </span><span class="attribute-name">
  pluginspage</span>=<span class="attribute-value">"http://www.macromedia.com/go/getflashplayer" </span><span class="attribute-name">type</span>=<span class="attribute-value">"application/x-shockwave-flash"
  </span><span class="attribute-name">width</span>=<span class="attribute-value">"294" </span><span class="attribute-name">height</span>=<span class="attribute-value">"260"</span>&gt;&lt;/<span class="end-tag">embed</span>&gt;
&lt;/<span class="end-tag">object</span>&gt;</span></pre>
<p>Този код <span style="color: #993300;">не е валиден XHTML</span> заради тага embed и при опит да мине през <a href="http://validator.w3.org/">валидатора</a> дава грешки, първата от които прилича на тази:</p>
<pre id="line177"><em>Line 181, Column 17</em>:
<strong><span class="msg">Attribute "src" exists, but can not be used for this element.</span></strong>
&lt;embed src=<strong title="Position where error was detected.">"</strong>http://arthuradams.bg/flash/2009.swf" wmode="opaque" quality="h...</pre>
<p>При търсене в Гугъл по думи като &#8222;XHTML embed&#8220; излизат десетки статии, в които грешно се посочва, че горния код може да бъде заменен с нещо като:</p>
<pre id="line177"><span style="color: #993300;"><span class="html-comment">&lt;!--[if !IE]&gt; --&gt;</span>
<span class="html-tag">&lt;object</span><span class="html-tagin"> type=</span><span class="html-quote">"application/x-shockwave-flash"</span><span class="html-tagin"> data=</span><span class="html-quote">"</span><span class="attribute-value">http://arthuradams.bg/flash/2009.swf</span><span class="html-quote">"</span><span class="html-tagin">
  width=</span><span class="html-quote">"294"</span><span class="html-tagin"> height=</span><span class="html-quote">"260"</span><span class="html-tag">&gt;</span>
<span class="html-comment">&lt;!-- &lt;![endif]--&gt;</span>

<span class="html-comment">&lt;!--[if IE]&gt;
&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
  width="294" height="260"&gt;
  &lt;param name="movie" value="</span><span class="attribute-value">http://arthuradams.bg/flash/2009.swf</span><span class="html-comment">" /&gt;
&lt;!--&gt;&lt;!--dgx--&gt;</span>
  <span class="html-tag">&lt;param</span><span class="html-tagin"> name=</span><span class="html-quote">"loop"</span><span class="html-tagin"> value=</span><span class="html-quote">"true"</span><span class="html-tagin"> /</span><span class="html-tag">&gt;</span>
  <span class="html-tag">&lt;param</span><span class="html-tagin"> name=</span><span class="html-quote">"menu"</span><span class="html-tagin"> value=</span><span class="html-quote">"false"</span><span class="html-tagin"> /</span><span class="html-tag">&gt;</span>

  <span class="html-tag">&lt;p&gt;</span>This is <span class="html-tag">&lt;b&gt;</span>alternative<span class="html-tag">&lt;/b&gt;</span> content.<span class="html-tag">&lt;/p&gt;</span>
<span class="html-tag">&lt;/object&gt;</span>
<span class="html-comment">&lt;!-- &lt;![endif]--&gt;</span></span>

<span style="color: #000000;"><strong>Горния код е грешен и НЕ РАБОТИ!</strong></span></pre>
<p>Според мен единственото XHTML решение работещо на всички браузъри е с използване на JavaScript.</p>
<h3>Пример с използване на swfobject.</h3>
<p>Изтегли си файла <a href="http://ganbox.com/inc/swfobject.js">http://ganbox.com/inc/swfobject.js</a> и го качи на твоя сайт. В следващия пример се приема, че е в директория /jscripts<br />
Между таговете head постави реда</p>
<pre><span style="color: #008000;">&lt;script type="text/javascript" src="/jscripts/swfobject.js"&gt;&lt;/script&gt;</span></pre>
<p>Там където искаш да се появи флаш филма постави следния div:</p>
<pre><span style="color: #008000;">&lt;div id="flashcontent" style="float:left; margin:10px"&gt;
&lt;strong&gt;You need to upgrade your Flash Player&lt;/strong&gt;
&lt;/div&gt;</span></pre>
<p>Слад това в страницата изпълни скрипта</p>
<pre><span style="color: #008000;">&lt;script type="text/javascript"&gt;
// &lt;![CDATA[
var so = new SWFObject("<span class="attribute-value">http://arthuradams.bg/flash/2009.swf</span>",
  "title", "294", "260", "7", "#FF6600");
so.write("flashcontent");
// ]]&gt;
&lt;/script&gt;</span></pre>
<p>Естествено вместо arthuradams.bg напиши името на домейна на твоя сайт.  Би трябвало да стане и само с &#8222;/flash/2009.swf&#8220;.</p>
<p><span style="color: #008000;"> </span></p>
<p>Работещ пример има в старница <a href="http://arthuradams.bg/">обучения от ArthurAdams.bg</a>, която е валиден XHTML.</p>
<p>В статията се ползва кода на проекта <a href="http://code.google.com/p/swfobject/">swfobject</a>.</p>
<div style="float:right;display:block" class="counterViews">Брой разглеждания на тази статия: <b>5022</b><br /><span style="color:grey;font-size:0.8em">(след дата 20 декември 2009)</span></div>

<p>Подобни статии:<ol><li><a href='http://ganbox.com/blog/xhtml-%d0%b8-%d0%b7%d0%b0%d0%bc%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%82%d0%b0%d0%b3%d0%b0-embed/' rel='bookmark' title='Permanent Link: XHTML и заместване на тага embed'>XHTML и заместване на тага embed</a> <small>Тага embed служи за вмъкване на видео или аудио файл...</small></li>
<li><a href='http://ganbox.com/blog/%d0%b7%d0%b0%d0%bc%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%82%d0%b0%d0%b3%d0%b0-marquee-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/' rel='bookmark' title='Permanent Link: Заместване на тага marquee за валиден XHTML'>Заместване на тага marquee за валиден XHTML</a> <small>HTML тага marquee се използва за автоматично скролиране на текст....</small></li>
<li><a href='http://ganbox.com/blog/%d0%bf%d1%80%d0%b5%d0%bc%d0%b0%d1%85%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-html-%d0%b3%d1%80%d0%b5%d1%88%d0%ba%d0%b8/' rel='bookmark' title='Permanent Link: Премахване на грешки в сайт и преминаване към XHTML'>Премахване на грешки в сайт и преминаване към XHTML</a> <small>Тази статия е за често срещани HTML грешки в сайтовете...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://ganbox.com/blog/%d1%84%d0%bb%d0%b0%d1%88-%d0%b0%d0%bd%d0%b8%d0%bc%d0%b0%d1%86%d0%b8%d1%8f-%d0%b1%d0%b5%d0%b7-%d1%82%d0%b0%d0%b3-embed-%d0%b7%d0%b0-%d0%b2%d0%b0%d0%bb%d0%b8%d0%b4%d0%b5%d0%bd-xhtml/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 46/86 queries in 0.043 seconds using disk: basic

Served from: ganbox.com @ 2012-05-22 06:22:42 -->
