問題タブ [jsdom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
372 参照

javascript - 不適切な形式の HTML を解析できません

ここに私のnode.jsプログラムがあります:

そして出力:

ソースページの HTML が正しくフォーマットされていないため、機能しないと思います。それは本当にそれが原因ですか?もしそうなら、それを修正する方法はありますか?

ありがとう

0 投票する
1 に答える
3067 参照

ajax - jsdomでajaxアプリを読み込んでいます

サーバー上でクライアント側アプリ(Backbone.jsで記述)をブートストラップして、クローラーと非jsコンシューマーに正しいコンテンツを提供できるようにするソリューションを探しています。

アプリをブートストラップするためにjsdomとnodejsをいじってみましたが、基本的なテンプレートコンテンツを読み込むまでは取得できますが、アプリが起動しないようです。

必要なすべての依存関係があり、アプリが正しく読み込まれていることを確認するために、2つの異なるソリューションを試しました。

  1. 通常インラインで含まれているすべてのスクリプトでjsdom.env()を使用してみました。
  2. jsdom.jsdom()を使用して、FetchExternalResources、ProcessExternalResources、およびMutationEventsがすべて正しくオンになっていることを確認してみました。

ただし、どちらもwindow.onloadイベントを発生させないようです。jsdomがこれを起動しない可能性があるのか​​、それとも通常は起動された後にコールバックと呼ぶのか疑問に思います。

これはjsdomで可能なタスクですか?

0 投票する
1 に答える
712 参照

javascript - jsdomはどこでリソースをダウンロードしますか?

私はNode.jsとjsdomを使用して、ページ上のすべてのcss / js / imagesを見つけてダウンロードし、URLを相対的なものに書き直しています(wget --page-requisites --convert-linksなど)。しかし、jsdomがすでにリソースをフェッチしている場合は、すべての作業を実行する必要があるのではないかと思います。FetchExternalResourcesをオンにすると、jsdomはそれらをどのように処理しますか?それらは、ディスクに保存できる場所のメモリに保存されていますか?

0 投票する
0 に答える
1288 参照

javascript - JSDOM の NodeIterator または TreeWalker オブジェクト

node.js でjsdomを使用して、HTML ドキュメントに小さな変換を加えようとしています。クライアント側のテストを行うとき、DOM 2 仕様の一部でdocument.createTreeWalkerあるanddocument.createNodeIterator関数を使用しました...ただし、作成者が DOM1 と DOM2 の完全な互換性があると主張しているにもかかわらず、それらは明らかに jsdom の一部ではありません。何か不足していますか?これらの関数は、jsdom によって作成されたドキュメントで使用できますか?

0 投票する
1 に答える
1171 参照

javascript - デュアルサイド テンプレートとサーバーサイド DOM 操作

検索エンジンボットのページに動的コンテンツを完全にレンダリングする必要があるアプリを作成しています.JSテンプレートを使用してコンテンツを制御すると、問題が発生する可能性があります. Web スパイダーは、RIA サイトのインデックス作成が得意になっていると思われますが、私はそれを危険にさらしたくありません。また、ほとんどの場所でモバイル インターネットはまだむらがあるため、クライアントが JS をダウンロードしていなくても、基本的な機能/スタイル/動的コンテンツがページに確実に表示されるように、最初はサーバーの負荷を最大化することをお勧めします。ライブラリ。

それが私が両面テンプレートに出くわした方法です:

問題: 動的な Ajax スタイルのレンダリングをブラウザーで許可し、同時に最初のページ読み込み時にサーバーから出力するにはどうすればよいでしょうか?

c. 2010: デュアルサイド テンプレート ブラウザーとサーバーの両方で単一のテンプレートが使用され、コンテンツが適切な場所にレンダリングされます。通常、ページが読み込まれるときはサーバー、アプリが進行するときはブラウザーです。たとえば、ブログのコメント。サーバー側のテンプレートを使用して、サーバーからすべての既存のコメントを出力します。次に、ユーザーが新しいコメントを作成すると、ブラウザー側のテンプレートを使用して、そのプレビューと最終バージョンをレンダリングします。

Node.js と Eco テンプレートで両面テンプレートを試したいのですが、どうすればよいかわかりません。私は JavaScript とすべての Node.js に不慣れです。

Node-Liftが役立つと言われていますが、それが何をしているのか、またはその理由がわかりません。

モバイル Web アプリのコンテキストでデュアル テンプレートを使用する方法の概要を説明してもらえますか?

jQuery と JSDOM を使用したサーバー側の DOM 操作は、方程式のどこに当てはまりますか?

ティア

0 投票する
1 に答える
302 参照

javascript - Node.js:JSDOMはインラインイベントを削除します

raw htmlでJSDOMモジュールを使用すると、インラインイベントの痕跡がすべて削除されます。なぜこれを恣意的に行うのかわかりません。

誰かがこれを回避する方法を見つけましたか、それとも私が間違っていることですか?

例:

このコードは出力します

0 投票する
4 に答える
1230 参照

jquery - node.js を使用して Windows で Web サイトをスクレイピングする

jsdom (node.js モジュール) を Windows で動作させようとしています。自分のノード バージョン用にビルドされていないと不平を言い続けます。

Linuxマシンにノード(ソースから同じバージョン、0.5.9)をインストールし、それをノードワフしました。次に、それをWindowsマシンにコピーしました(node_modulesの下)

それでもいけない...

何か案は?ノードからのリクエストへの応答から取得した HTML を解析するためのその他の推奨事項はありますか?

jsdom を介して jquery を使用するのは楽だったでしょう。

乾杯。

0 投票する
2 に答える
769 参照

dom - jsdomウィンドウキャッシング

express.jsでjsdom.jsdom()を使用して、「ベース」レイアウトマークアップを使用してドキュメントを作成し、jQueryなどのクライアント側ライブラリをウィンドウにアタッチします。

この設定を1回だけ実行する必要があると便利です。

問題は、ウィンドウのドキュメントのDOMが要求されたURLに応じて変化することです。各リクエストを同じキャッシュウィンドウオブジェクトから開始して拡張する方法はありますか、それともすべてのリクエストで最初からセットアップする必要がありますか?

0 投票する
1 に答える
5570 参照

node.js - ハイチャートを使用したサーバー側でのsvgの生成

ノードjsでrequire('jsdom')を実行しましたが、常にjsdomモジュールが見つかりません。さらに、サーバーでhighchartsを使用してsvgドキュメントを生成し、後でpdfでその画像を使用できるようにします(batikを使用してそのsvgを画像に変換します)。これで私を助けるかもしれないリンクはありますか?http://blog.davidpadbury.com/2010/10/03/using-nodejs-to-render-js-charts-on-server/を読みました が、プロトタイプはあまり意味がありませんでした。単なるプロトタイプではなく、実装されたモジュールはありますか?

0 投票する
4 に答える
5377 参照

javascript - scriptタグで定義されたjavascript関数を呼び出す方法は?

例:

どのように電話しtest()ますか?

編集:これを正しく説明しませんでした。

node.js の request モジュールを使用して、javascript 関数を含む外部 html ファイルをロードしています。

「本体」で関数を呼び出すための構文を探しています。