パスワードを忘れた? アカウント作成
13910235 story
インターネット

JavaScriptを使わずCSSだけで構築したWebチャット 14

ストーリー by hylom
色々できるCSS 部門より
あるAnonymous Coward曰く、

JavaScriptを使わず、CSSだけでWebブラウザ上で動くチャットを実装した人が登場した(ソースコードなどを公開しているGitHubリポジトリ)。

画面上に表示される文字ボタンをクリックして文字を入力し、「submit」をクリックするとそのテキストが送信されるという仕組み。

CSSの「:active」セレクタでbackground-imageスタイルを指定すると、その要素がクリックされてアクティブになった際にその画像を取得するリクエストがサーバーに送信されることを文字の入力や送信に利用している。

また、サーバーからクライアントへのメッセージ送信は、「Transfer-Encoding: chunked」ヘッダを送ってコンテンツの送信を中断状態にしておき、随時「続きのコンテンツ」を送信することで行っている。

作者はCSSでマウスカーソルを追跡する方法に触発されたと述べている。

  • by Anonymous Coward on 2019年05月17日 6時59分 (#3616096)

    Rule 110が実装できるとか何とか

    ここに返信
  • by Anonymous Coward on 2019年05月17日 6時44分 (#3616094)

    こんなハックを思いついて、しかも実装してしまう!ハッカーの鏡。

    ここに返信
    • by Anonymous Coward

      以前見たCSSだけで無限アラートもどきとかを見ると、CSSだけでもかなりインタラクティブなことが出来そうだと感じさせられるな。

      • by Anonymous Coward

        と同時になんて欠陥言語なんだと思った
        そんな実装した保守対応したらキレるかもw
        PDFと同じでやりすぎなんだよ

    • by Anonymous Coward

      俺なんかHTMLだけでチャット実装したことがあるぞ

      • by Anonymous Coward

        ちゃちゃっと実装出来ましたか?

    • by Anonymous Coward

      「ハッカーの鏡」

      • by Anonymous Coward

        そしで、「意味は同じだろ」
        「見本として使う場合は、鑑だろ」
        という言い合いが始まる

  • ネットスケープはそれが怖くてJavsScriptをオフにするとCSSまでオフになってたんだろうか?

    ここに返信
    • by Anonymous Coward

      単にCSSが内部的にJavaScriot(JSSS)で処理されていたという実装上の都合では

      • by Anonymous Coward

        インターネットブラウザは内部的にはWebAssemblyのみ対応、
        HTML/CSSレンダリングエンジンも、Javascriptインタプリタも
        WebAssemblyで実装すればいいとおもう

        • by Anonymous Coward

          WebAssemblyがセキュリティを意識して設計されているからといって
          セキュアだという保証はないのに何故?

          # 前世紀では「これからは全部Javaで」という暴論を少なからず見た。

typodupeerror

にわかな奴ほど語りたがる -- あるハッカー

読み込み中...