Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

how to detect if browser supports xhtml

by kyoshu (Curate)
on Jun 02, 2005 at 08:05 UTC ( #462804=perlquestion: print w/replies, xml ) Need Help??

kyoshu has asked for the wisdom of the Perl Monks concerning the following question:

to detect if browser supports xhtml i use:
#!/usr/bin/perl -wT use strict; use CGI; my $q = new CGI; if ( grep { /application\/xhtml\+xml/ } $q->Accept ) { print "Content- +type: application/xhtml+xml\n\n"; } else { print "Content-type: text/html;Charset=utf-8\n\n"; } print 'some xhtml'; ...
is there any more advanced way? module, or how you do it?

20050602 Edit by ysth: remove pre tags, add code tags

Replies are listed 'Best First'.
Re: how to detect if browser supports xhtml
by gellyfish (Monsignor) on Jun 02, 2005 at 09:08 UTC

    As far as it goes, that's a perfectly reasonable way of doing it, however I would counsel you to forget about trying to detect whether a browser explicity states it will accept XHTML as some (such as IE) don't advertised themselves as accepting 'application/xhtml+xml' will display XHTML if sent with an text/html content-type but don't display it properly if sent with the 'application/xhtml+xml' type. On the other hand there are others (such as galeon) that do advertise the xhtml content-type but do not display it correctly (in the absence of a stylesheet).

    This really goes back to the old browser detecting thing, which was similarly a bad idea. Produce your output to the standard and test with as many browsers as you can, b ut don't try making different output for them as you will never be able to keep up.


Re: how to detect if browser supports xhtml
by Joost (Canon) on Jun 02, 2005 at 10:50 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://462804]
Approved by ysth
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2021-04-11 15:13 GMT
Find Nodes?
    Voting Booth?

    No recent polls found