私たちのプロジェクトは.Netアーキテクチャに基づいています。 したがって、サーバー側全体がC#になります。
前文
プロジェクトのある晴れた日には、wapページを作成する必要がありました。 そして、2つのオプションを作成します-htmlとwml。 私は以前にそのようなことをしたことがなかったので、すべてが新しいものでした。 明白なことを書いたら-誓わないでください。 この記事は、WAPページを常に作成しているわけではありませんが、時にはそのようなニーズが生じる人を対象としています。
理論のビット
htmlの説明は何の価値もないと思います:)
しかし、wmlでは少し停止する価値があります。 このマークアップ言語に関するいくつかの事実:
- ページは<wml>タグで開始および終了します
- すべての情報はタグ<card>にあります
- ページサイズは4kb以下
- CSSをサポートしていません
- 写真はWBMPのみ、つまり白黒です
wikiで詳細を読む
実際、wmlは使用されなくなりました。 xhtmlの王国がやってきた:)
練習。 クライアント部
wapページを作成するときに最初に理解したことは、Doctypeなしではどこにも存在しないということでした。
第二に、一部の携帯電話は完全に有効なレイアウトでのみページを表示します。
携帯電話があなたのページを表示するようにするにはどうすればいいですか?
検証する必要があります!
このためには、ドキュメントの最初にxml定義が必要です。 個人的な経験に基づいて、電話がファイルの先頭の行に合わない場合(およびこの電話がNokiaの場合:))
<?xml version = "1.0" encoding = "UTF-8"?>
その後、ページの表示を拒否します。
さらにもっと。 Doctypeを指定する必要があります。
ページのhtmlバージョンでは、
<!DOCTYPE html PUBLIC "-// WAPFORUM // DTD XHTML Mobile 1.0 // EN" " www.wapforum.org/DTD/xhtml-mobile10.dtd ">
そして、wml
<!DOCTYPE wml PUBLIC "-// WAPFORUM // DTD WML 1.1 // EN"
" Www.wapforum.org/DTD/wml_1.1.xml ">
さらに、それはあなたの好みに合わせて、レイアウトの妥当性のみを観察します。 バリデーターはあなたのサービスにあります。
練習。 サーバー側
すでに書いたように、すべてのコード例はC#で記述されます。
私が直面した最初のタスクは、wapブラウザが目の前にあるかどうかを判断することでした。
私は次のように書いた:
bool WapBrowser = Request.Headers ["Accept"]。Contains( "text / vnd.wap.wml");
次に、ブラウザがxhtmlをサポートしているかどうかを判断します
bool SupportHTML = Request.Headers ["Accept"]。Contains( "text / html");
ここでもすべてが明らかです。
これで、いくつかの条件を作成できます。
if(SupportHTML && WapBrowser)
{
試してみる
{
Server.Transfer( "SampleWapPage.aspx");
}
catch(例外ex)
{
//
}
Server.Transfer( "404.aspx");
}
ご覧のとおり、クライアントのブラウザがwapブラウザであり、htmlをサポートしている場合、SampleWapPage.aspxに切り替わります
そして、条件が満たされない場合は、wapブラウザーを決定してみてください。
if(WapBrowser)
{
試してみる
{
Server.Transfer( "SampleWapPage.aspx?Wml");
}
catch(例外ex)
{
//
}
Server.Transfer( "404.aspx");
}
ご覧のとおり、すべてがシンプルで明確です。
使用する幸運:)