ASP.NETモバイルで<head>タグが消える2008年05月01日 23時28分56秒

今日は1日中この問題を調べてました。きっかけは以下のサイト

モバイルWebフォームでheadタグが消える

で、調べてみたらできるようです。aspxの<mobile:form>タグの中に以下のような記述を書けばいい。

<mobile:DeviceSpecific ID="DeviceSpecific1" Runat="server">
   <Choice Filter="supportsJavaScript">
     <ScriptTemplate>                     
       <meta name="description" content="description metatag"/>        
     </ScriptTemplate>
  </Choice>
</mobile:DeviceSpecific>  

この記述でmetaタグが埋め込まれるのはアクセスしたデバイスがjavascriptをサポートしている場合のみです。javascript未サポートの携帯の場合は何も表示されません。

ブラウザファイルを書き換えて強制的にjavascriptオンにするとほかの部分で不具合でそうで困った。

metaタグを出力するのはSEO対策でサーチエンジン用の情報を記述したいからだそうです。そういう場合はサーチエンジンのクローラーがアクセスしたときにmetaタグが出ればいいのかな?サーチエンジンのUserAgentってわかるようになってるのか?この辺がわかれば解決かな。

元ネタ

http://forums.asp.net/t/1229706.aspx

5/17 追記

かるあさんが解決方法をブログに書いてくれました。 どうもありがとうございます。

http://karua.at.webry.info/200805/article_3.html

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://minoproject.asablo.jp/blog/2008/05/01/3432390/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。