node.js
express
socket.io
チャットプログラムは、一般的な例socket.ioアプリケーションです。サーバーは、任意のクライアントからの受信メッセージを聴き、チャットアプリを実行しているすべてのクライアントに即座に表示します。それを使用して、ページが上がっている間にAndroidデバイスからの信号に即座に応答します。
サーバーのセットアップPackage.jsonファイルは、ノードアプリケーションに関する依存関係とその他のメタ情報を定義します。このファイルの内容を以下に示します。 ExpressおよびSocket.ioモジュールが依存関係に必要であることに注意してください。
このデモはHerokuでホストすることを目的としているため、コンテンツを以下に示しているProcfileが必要になります(非常に単純です!) Web:node index.jsindex.jsに保存されているノードサーバーを以下に示します。
<span>{ </span> <span>"name": "androidremotecontrol", </span> <span>"version": "0.0.1", </span> <span>"dependencies": { </span> <span>"express": "3.1.x", </span> <span>"socket.io": "latest" </span> <span>}, </span> <span>"engines": { </span> <span>"node": "0.10.x", </span> <span>"npm": "1.2.x" </span> <span>} </span><span>}</span>
index.jsからの次の行は、socket.ioのインポートに使用され、サーバーのポートを設定します。
<span>var http = require('http'), </span> express <span>= require('express'), </span> app <span>= express(), </span> server <span>= require('http').createServer(app), </span> io <span>= require('socket.io').listen(server), </span> port <span>= process.env.PORT || 5000; </span> app<span>.use(express.bodyParser()); </span> app<span>.get('/', function(request<span>, response</span>) { </span> response<span>.sendfile('public/index.html'); </span><span>}); </span> app<span>.post('/nudging', function(request<span>, response</span>) { </span> io<span>.sockets.emit('nudge'+ request.body.nudged); </span> response<span>.json({success: true}); </span><span>}); </span> app<span>.get(<span>/<span>^(.+)$</span>/</span>, function(req<span>, res</span>) { </span> res<span>.sendfile('public/' + req.params[0]); </span><span>}); </span> server<span>.listen(port, function() { </span> <span>console.log('Listening on ' + port); </span><span>}); </span> io<span>.configure(function() { </span> io<span>.set('transports', ['xhr-polling']); </span> io<span>.set('polling duration', 10); </span><span>});</span>
ノードサーバーで最も重要なルートは、プレゼンテーションスライドと対話できるPOSTリクエストです。このルートは以下に示されています。
io <span>= require("socket.io").listen(server), </span>port <span>= process.env.PORT || 5000;</span>
最初の行は、window.location.hostnameのsocket.ioサーバーに接続します。このデモの目的のために、私たちはそれをシンプルに保ち、すべてを1つのドメインに載せます。 2つのイベントハンドラーは、スライドを左または右に微調整するリクエストを聞きます。これらに気付いた場合、deck.jsの前または次の関数を実行してスライドを移動します。 {x}は、Androidデバイスを制御し、受信テキストメッセージ、GPSの場所、バッテリー寿命などのイベントに対応できるAndroidアプリケーションです。このデモでは、nudgeが発生したときにそれらのサーバーリクエストを送信するためにそれを使用します。
現在、OnSuccessコールバック関数は、HTTP応答が成功したことを記録するために使用されます。これは、response.json({success:true})にマップします。ノードサーバーで早期に設定します。この成功コールにさらに追加して、{x}を提供して、そのように傾いていると感じた場合は、より多くのデータを提供できます。同様に、Onerrorコールバックは、発生するエラーをログに記録するために使用されます。 次に、これらのジェスチャーの検出を90万ミリ秒間オンにします。これは、最初にデバイスでコードを有効にすると実行されます。このコードを900,000ミリ秒以上実行することを望む可能性があります。私が現在それを個人的にセットアップしている方法は、デバイスの画面がオンになるたびにこれをオンにすることです。したがって、スライドを制御したい場合は、画面をオンにするだけで、900秒間になります。開発中に私が見つけたものから、この関数に制限時間を提供する必要があります。別の方法を見つけたら、コメントでお知らせください。更新したいです。 サーバーアドレスと一致するようにコードを更新し、すべての準備が整ったら、[保存して電話に送信]をクリックして、ウェブ上で電話に送信されます。そこから、プレゼンテーションでURLを開き、Androidデバイスの画面をオンにして、左右に微調整してみてください。すべてがうまくいったら、スライドが前後に切り替わるのが見えます! {x}のログファイルを表示する場合は、Androidスマートフォンでアプリを開くことができ、追加したルールを選択して「ログの表示」を選択できます。または、ルールページに移動してルールを選択し、[ログ]タブをクリックしてログインしてログインしている場合、オン{x}サイトで表示できます。
結論
このデモのすべてのコードは、GitHubで利用可能です。私のランニングバージョンはHerokuでも入手できますJavaScriptを使用したWebページの制御に関するよくある質問(FAQ) Webページの制御におけるJavaScriptの役割は何ですか? JavaScriptは、さまざまな方法でWebページを制御できます。たとえば、HTML要素のコンテンツとスタイルを変更したり、サーバーに送信する前にフォームデータを検証したり、Cookieを操作したり、ポップアップウィンドウを作成したりすることができます。 JavaScriptは、オンラインゲーム、インタラクティブマップ、2D/3Dグラフィックスなどの複雑なアプリケーションを作成するためにも使用できます。動的でインタラクティブなWebページを作成します。 HTMLは、Webページの構造、スタイリング用のCSS、および機能のJavaScriptに使用されます。 JavaScriptは、HTMLドキュメントのすべての要素と属性にアクセスして変更できます。また、Webページ内のすべてのCSSスタイルを変更できます。 JavaScriptはWeb開発にのみ使用されていますか? Web開発の場合、その使用はそれに限定されません。また、Node.jsを使用したサーバー側のプログラミング、Reactネイティブやイオンなどのフレームワークを使用したモバイルアプリ開発、電子などのフレームワークを使用してデスクトップアプリケーションを作成するためにも使用できます。 JavaScriptは安全ですが、他のプログラミング言語と同様に、正しく使用しないと悪用されます。潜在的なセキュリティの問題を防ぐために、安全なコーディングのためにベストプラクティスに従うことが重要です。これらには、ユーザー入力の検証と消毒、eval()の使用を回避し、脆弱性についてコードを定期的に更新およびチェックすることが含まれます。 Webページでアニメーションを作成するために使用されます。時間の経過とともにHTML要素のCSSプロパティを変更し、アニメーションの効果を生み出すことができます。 JavaScriptは、スムーズでブラウザオプチミー化されたアニメーションを作成するために特別に設計されたRequestAnimationFrameメソッドも提供します。 HTMLおよびXMLドキュメントのプログラミングインターフェイス。ドキュメントの構造を表し、JavaScriptなどのプログラミング言語がドキュメントのコンテンツ、構造、スタイルを操作できるようにします。試み、キャッチ、そして最後に声明の。 TRYブロックには、エラーをスローする可能性のあるコードが含まれています。Catchブロックはエラーを処理し、最後にブロックには、スローされているかどうかに関係なく実行されるコードが含まれます。io<span>.configure(function () {
</span> io<span>.set("transports", ["xhr-polling"]);
</span> io<span>.set("polling duration", 10);
</span><span>});</span>
{x}シークレットソース
で始めること
アプリをデバイスにダウンロードしてください:https://www.onx.ms/#! DownloadAppPage。
device.gestures.onコンポーネントは、イベントハンドラーをセットアップするために使用されます。 {x}でいつでも左のナッジを検出すると、Nudgeleftハンドラーが呼び出されます。基本的に電話に通知を表示するコードがあり、携帯電話が左に微調整されていることを示しています。これは必要ありませんが、ナッジが検出されたことを確認するために、テストに使用します。そのコードの行を以下に示します。
{x} logs
で表示します
この方法は決して安全ではありません。他の誰かがあなたのプレゼンテーションのアドレスと送信している投稿リクエストを作成した場合、彼らはあなたのスライドを世界中のどこからでも簡単に切り替えることができます。これとあなたがsocket.ioに関連して{x}に関連する他のアイデアについては、このような一般的なもののためにどこかにセキュリティの層を追加することを忘れないでください。
コードJavaScriptは、Webページの制御において重要な役割を果たします。これは、Webページに複雑な機能を実装できるプログラミング言語です。 Webページが静的である場合、つまり静的情報を表示する場合、JavaScriptを使用してページをよりインタラクティブにすることができます。ユーザーアクションに応答したり、動的コンテンツを作成したり、マルチメディアを制御したり、画像をアニメーション化したりすることができます。 JavaScriptがユーザーのコンピューターで実行され、ページの読み込みが速くなり、サーバーの負荷が削減されます。 <script>タグまたは<script>タグ内のsrc属性を使用して外部からリンクされます。スクリプトはHTMLドキュメントのヘッドまたはボディセクションに配置できますが、ページのレンダリングのブロックを防ぐためにボディセクションの下部にスクリプトを配置することを一般的に推奨します。 Webページを制御するJavaScript?</script>
以前のプログラミングの知識なしでJavaScriptを学ぶことができますか?ただし、HTMLとCSSがJavaScriptと協力してインタラクティブなWebページを作成する際に、HTMLとCSSを基本的に理解することは有益です。 JavaScriptをゼロから学習するのに役立つチュートリアル、ビデオ、インタラクティブなコーディングプラットフォームなど、オンラインで利用可能な多くのリソースがあります。
JavaScriptはどれだけ安全ですか?
以上がjavaScriptおよび{x} - SitePointでWebページを制御しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。