1. はじめに

スマートフォンの普及にともない,私もAndroidスマートフォンを使って,Webサイトを見ることがあります。しかし,私の個人的な経験上では,PC上でのような快適なブラウジングにならないのが現状です。そこで,──いろいろなやりかたがあると思うのですが──,できるだけ楽をしてスマートフォン用のページをつくろうと思いました。具体的には,以下の方針に基づき(注1)スマートフォン用のスタイルシートを作成し,ユーザの選択で,これとPC用のスタイルシートとを切り替えるというやり方で実装しました:


2. 必要な設定

この機能を利用するためには以下の二つの機能が有効になっているということが必要です:

ECMAScript(JavaScript / JScript etc)の実行

スマートフォン版の使用それ自体に必要です。また,そもそもこの機能が有効になっていないと,スタイルを変更するためのボタンが現れません。

たとえこの機能が無効になっていても,このサイトの利用自体にはなんの問題もありません。ただ,スマートフォン版を使うことができず,PC版を使うだけの話です(注2)

Cookieの受け入れ

セッション内およびセッション間で持続的に(注3),当該端末でスマートフォン版を使い続けるために必要です。

たとえこの機能が無効になっていても,スマートフォン版を使うことができなくなるわけではありません。ただ,サイト内を移動するたび(あるいはサイトから離れたあとでもう一度このサイトにアクセスするたび)に,デフォルトのPC版に戻ってしまい,ふたたびスマートフォン版に変更しようと思ったらいちいちボタンをタップしなければならないだけの話です。

ほとんどのスマートフォン用ブラウザでは,デフォルトの設定において両機能が有効(=オン)になっているはずです。従って,もしデフォルトの設定を弄くっていなければ,問題なくこのサイトのスマートフォン版を使うことができるはずです。


3. セキュリティ上の問題

多くのブラウザが,(デフォルトの設定では両機能が有効になっているとしても),この両機能の有効(=オン)/無効(=オフ)の切り換えを簡単に行うことができるGUIを提供しているはずです。逆に言うと,それらを容易に無効にすることができるということは,無効にするということに,操作上およびセキュリティ上のメリットがありうるということを意味しています。

特にセキュリティについて言うと,利便性と危険性とは表裏一体であって,こちらとしては高機能・高リスクと低機能・低リスクとのどちらを優先するべきという判断を呈示しません;従ってまた,両機能を有効にするべきという判断を呈示しません。ご自身で判断して下さい(注4)

両方の設定を有効にしないと,セッションを越えてスマートフォン版を使うということができなくなりますが,ただそれだけのことです。これらの設定が無効(=オフ)になっていても,(PC上でもスマートフォン上でも)このWebサイトのPC版を閲覧するのにはなんの問題もありません。


4. 設定変更の例

以下にデフォルトのブラウザその他の当該項目の設定変更方法を列挙しておきます。私が使用しているAndroid端末にインストールされているものが中心です(iOS上のSafariについては,Apple社の公式情報を利用しています)。この他のブラウザについては,自分で調べて下さい。また,バージョン等に応じて,設定方法は違うかもしれません。あくまでも参考情報として下さい。

Safari

iOS(iPhoneおよびiPad)用のSafariについては,Apple社による以下の説明をご覧下さい。その中の,Safari が Cookie を受け入れるかどうかを設定するにはおよびJavaScript を有効または無効にするにはがここでの設定に関する記述です。

Androidの標準ブラウザ

Androidの(標準)ブラウザについては,メニューからその他>設定の順にタップしていき,それからJavascriptを有効にするおよびCookieを受け入れるチェックボックスをタップすると,両機能の有効/無効の切り替えができます。

Opera mobile

Android用のOpera mobileについては,cookieについては設定>プライバシーの順にタップしていき,Cookieを許可するチェックボックスをタップすると,cookieの有効/無効を切り替えることができるようです。しかし,JavaScriptの有効/無効の切り換えについては,mobileの場合には,まだそれを誰でも簡単に切り替えることができるGUIは提供されていないようです(注5)

Firefox for mobile

Android用のFirefox for mobileについては,メニューから設定をタップし,それからCookieを使用するおよびJavaScriptを有効化チェックボックスをタップすると,両機能の有効/無効の切り替えができます。

Chrome

Android用のChromeについては,メニューから設定>コンテンツの設定の順でタップしていき,Cookieの許可およびJavaScriptの有効化チェックボックスをタップすると,両機能の有効/無効の切り替えができます。


  1. (注1)この方針自体は,以下のような,2012年10月時点の2015年5月時点の主流的な端末の仕様の想定に依存しています:

    • PCの利用者は
      • 比較的に大きな画面を使っており(最低限,横幅が480px以上物理サイズが10インチ以上),
      • タッチパネルを利用してはいない(たとえタッチパネルを利用していても,スタイラスで操作を行っている)。
    • スマートフォンの利用者は
      • 比較的に小さなタッチパネル画面を使っており(5インチ前後),
        • しかも,ポートレイト(縦置き)で使うことがあり(最低限,360px以下)
      • スタイラスではなく,指で画面を操作している。

    近い将来,この想定は崩れるでしょう。すでにタブレット型端末は,どちらにも当てはまりません。

    一方ではWindows8の発売,それにともなうノートPCのハイブリッド化(入力用のキーボード付き端末と閲覧用のタッチパネルタブレットとの兼用),他方ではスマートフォンの大画面化および高解像度化によって,上記の区別はますます薄れつつあります。私が現在使っているフルHDのスマートフォンの場合には,マルチカラムのWebサイトをブラウザ上に表示させても,普通に字を読むことができます。顔をスマートフォンに近付けなければならないのと,目が疲れるのとで,私自身はやりたくありませんが……。

    また,それにともない,新しい操作にみんなが慣れるのに応じて,操作の標準も変わってくるのかもしれません。私自身は,PC用にデザインされたWebサイトをスマートフォン上で閲覧する際に,他のリンクと隣接するリンクをアクティベートするのに,ピンチアウトしてからタップするという二段階の作業が苦痛だったのですが,当たり前のように慣れてしまえば気にならないのかもしれません。

    スマートフォンにおける画素数の高度化は,スマートフォンについてのこの問題の中心を,画素数不足による読解不可能性ではなく,タッチオペレーションの不可能性に一元化させたように思われます。

  2. (注2)このWebサイトで提供しているスマートフォン用のスタイルシート:http://rpe.y-imai.com/styles/def_phone.cssをユーザスタイルシートとして適用し,またHTMLファイルを動的に書き換えてhead要素の子要素としてviewportの指定:<meta name="viewport" content="width=device-width,initial-scale=1.0" />を加えれば,利用者側でスマートフォン用のページを入手することができると思います。

  3. (注3)セッションについては,e-Wordsへのリンクを提供しておきます:

    このWebサイトでは,cookieの有効期限を,最後にこのWebサイトを訪問してから90日間に設定しています。すなわち,この期間内であれば,一度もこのWebサイトを訪問しなくても,設定が有効であり続けます。

  4. (注4)これはあくまでも一般論です。このWebサイトのスマートフォン版に関する限り,保存されているcookieの値は利用者を特定・追跡しないアルファベット一文字(SもしくはP)です。また,ECMAScriptの内容は基本的に,単にHTMLファイル上で適用されるスタイルシートへのリンクを書き換えているだけです。

  5. (注5)Opera mobileの組み込みの設定ファイルエディタ(opera:config)を利用すればJavaScriptの有効/無効の切り換えができるようです。とは言っても,opera:configは一つミスをすると,Opera(ここではOpera mobile)の機能に重大な問題を引き起こしかねません。したがって,ここでは,その方法を記しませんし,その方法について書かれたWeb情報リソースへのリンクをも提供しません。必要な方は自分で調べて下さい。