http:// www
私はiPhone用のWebブラウザーを作成していましたが、ユーザーが入力するURLの前にWebブラウザーが自動的に追加する方法を知りたいと思いました。
1 に答える
コードを表示したり、言語を指定したりしていないため、追加する場所が既にわかっている正しいアルゴリズムを求めていると思います。
任意の URLに追加したい場合はhttp://www.
、確かに追加できますが、それはほとんどお勧めできません。たとえば、http://www.en.wikipedia.org
うまくいかなかったと思うでしょう。壊れているページを見つけることができると思います。http://www.https://bank.example.com
は間違いなく無効です。
私はこれをお勧めします:
- URL が指定されたプロトコルで始まらない場合 ("protocol specified" の正規表現:
^\w+\:\/\/
)、先頭に追加http://
- DNS ルックアップまたは URL へのアクセスを試みます。
www.
ルックアップが失敗し、URLがまだで始まっていない場合は、先頭にwww.
.- ここで停止できます。できる限りプレフィックスを処理しました。
- を追加
www.
した場合は、新しいルックアップを作成します - それでも検索に失敗する場合は、一般的なトップ レベル ドメイン (
.com
、.net
、.org
...) を URL に追加してみてくださいwww.
。
ユーザーの習慣を観察して、ユーザーが最も頻繁にアクセスするトップ レベル ドメインを見つけ、それらを最初に追加することもできます。
もちろん、より良いものが必要な場合は可能です。最新のデスクトップ ブラウザのアドレス バーの動作を観察してください。これは基本的に、これまでにアクセスされたアドレスのセットに対して、アクセス数 (および鮮度?) によって重み付けされた全文検索を実行します。アクセス数とそれにアクセスするための文字列を追跡することもでき、無関係な入力の URL は提供しません。Chrome は入力と URL を追跡します => ヒット カウント (提案が成功した頻度) とミス カウント (提案が失敗した頻度)。
ほとんどの場合、これには独自の仮想キーボードを作成する必要がありますが、これは、レンダリング コアや JavaScript エンジン (またはかなり高速な CSS エンジン) を作成することに比べれば、ほんのわずかな作業です。