Revision 6aeb9a74
Von Sven Schöling vor fast 7 Jahren hinzugefügt
SL/Presenter/Tag.pm | ||
---|---|---|
20 | 20 |
readonly selected hidden |
21 | 21 |
); |
22 | 22 |
|
23 |
my %_singleton_tags = map { $_ => 1 } qw( |
|
24 |
area base br col command embed hr img input keygen link meta param source |
|
25 |
track wbr |
|
26 |
); |
|
27 |
|
|
23 | 28 |
sub _call_on { |
24 | 29 |
my ($object, $method, @params) = @_; |
25 | 30 |
return $object->$method(@params); |
... | ... | |
58 | 63 |
my ($tag, $content, %params) = @_; |
59 | 64 |
my $attributes = stringify_attributes(%params); |
60 | 65 |
|
61 |
return "<${tag}${attributes}>" unless defined($content);
|
|
66 |
return "<${tag}${attributes}>" if !defined($content) && $_singleton_tags{$tag};
|
|
62 | 67 |
return "<${tag}${attributes}>${content}</${tag}>"; |
63 | 68 |
} |
64 | 69 |
|
Auch abrufbar als: Unified diff
Presenter::Tag: singleton tags
Vorher wurden alle tags als singleton (also ohne schließenden Tag)
gerendert, wenn sie keinen content hatten. Das geht aber kaputt bei
textarea, weil ein einfaches <textarea> den kompletten folgenden HTML
Code als Content interpretiert.
Ab jetzt werden nur die Tags ohne Content als singleton gerendert, bei
denen das im Standard erlaubt ist.