Този сайт ще има ограничена функционалност, докато се извършва тече неговата поддръжка. Ако дадена статия не може реши проблема ви и искате да зададете въпрос, нашата общност е готова да ви помогне на @firefox в Twitter и /r/firefox в Reddit.

Търсене в помощните статии

Избягвайте измамите при поддръжката. Никога няма да ви помолим да се обадите или изпратите SMS на телефонен номер или да споделите лична информация. Моля, докладвайте подозрителна активност на "Докладване за злоупотреба".

Научете повече

Rendering bug - Nested HREF tags created at runtime?

  • 1 отговор
  • 15 имат този проблем
  • 23 изгледи
  • Последен отговор от bmoshe

more options

Some code is not rendered correctly at runtime - Firefox creates additional code at runtime which is not present in the source HTML.

A series of A HREF tags are added to code which is nested within a single A HREF tag in the source. It also adds _moz-rs-heading="" within the A, before the HREF property.

It only happens in Windows Firefox (not OS X) and only to a single item in a page - the item affected varies.

If you refresh the page a few times, sometimes it corrects itself.

Doesn't happen in any other browser.

This screenshot (with Firebug enabled) shows the rendering error and the code added at runtime.

Any explanation?

[http://www.rational-systems.net/files/eum/devweb/index.html Some code] is not rendered correctly at runtime - Firefox creates additional code at runtime which is not present in the source HTML. A series of A HREF tags are added to code which is nested within a single A HREF tag in the source. It also adds _moz-rs-heading="" within the A, before the HREF property. It only happens in Windows Firefox (not OS X) and only to a single item in a page - the item affected varies. If you refresh the page a few times, sometimes it corrects itself. Doesn't happen in any other browser. [http://www.rational-systems.net/files/eum/devweb/_notes/scr_web30_bug_moz_article_render.jpg This screenshot] (with Firebug enabled) shows the rendering error and the code added at runtime. Any explanation?

Всички отговори (1)

more options

The explanation will no longer be relevant with Firefox 4 because of the HTML5 support

I'm being here a bit inaccurate in favor of simplifying things.

In HTML, every element is either inline or block, where block elements contain inline elements (e.g., form contains paragraphs). In HTML4, a elements (href) cannot be used as blocks because they were defined as inline (bad judgement call of those W3 guys back at the early days of the Internet). Browsers tend to fix that mistake for you, and my guess is that Firefox chooses its fixing method, based on performance issues (that is, you don't get that problem when making a few such mistakes).

This will no longer be relevant with HTML5 due to a redefinition of the a element (finally). If you want to support HTML4 browsers, you should not have div, h#, table, etc... inside an a element.