0

これは、ここで尋ねられるより広い質問に関連する非常に具体的な質問です。

グラブ/コピー/変数への変換: Google 翻訳テキスト (他のページへの書き込み) クライアント側

私はDOM(wiki)を読みました:

HTML ページなどのドキュメントをレンダリングするために、ほとんどの Web ブラウザーは DOM に似た内部モデルを使用します。すべてのドキュメントのノードは、DOM ツリーと呼ばれるツリー構造で編成されており、最上位のノードは「ドキュメント オブジェクト」と名付けられています。HTML ページがブラウザでレンダリングされると、ブラウザは HTML をローカル メモリにダウンロードし、自動的に解析してページを画面に表示します。DOM は、JavaScript が HTML ページでブラウザーの状態を送信する方法でもあります。

興味深いですが、出力が「オブジェクトとして」何であるかは述べられていません。

それでも、出力または表示されたテキストを強調表示して、コピーして貼り付けることができます。したがって、ハイライト コマンドとコピー コマンドは、出力にアクセスする方法を認識している必要があります

これらのコマンドが出力にアクセスできる場合......それは疑問を投げかけます:

Javascript も出力にアクセスできますか? もしそうなら....それは何と呼ばれ、それへのスクリプトパスは何ですか。

典型的な例:

var x = document.getElementById("textarea_id").value;

私はおそらく必要です:

var x = path_to_parsed_output.value;

この質問に対する答えはそこにあるはずです....しかし、私はかなりの数の参照サイトを見てきましたが、この問題に正面から取り組んでいるようには見えません.

何人かの知識のある人が、おそらく明白な答えを簡単に述べてくれることを望んでいます(知識があれば明らかです)。

:)

4

1 に答える 1

1

はいといいえ。はい、JavaScript を使用して、DOM 内で実質的に必要なものにアクセスできます。

しかし、ルート ノードより下のリストのノードへのユニバーサル リファレンスはありません (ここでも、いくつかの例外があります)。

探しているものが見つかるまで、ツリー ナビゲーション アルゴリズムを使用して DOM をトラバースするか、HTML ノードに定義特性を与えて、単一の要素を与える DOM アクセス メソッドを使用する必要があります。その属性 ( id)、またはその属性を持つノードのリスト ( class) を使用して、必要なものを見つけるために反復する必要があります。

...そのための秘訣は、必要なノードの定義特性を見つけて、それにアクセスするのをできるだけ簡単にすることです。

ただし、DOM ノードはオブジェクトと 1:1 ではありません。
つまり、オブジェクトとして行った変更は HTML に反映されない可能性があり、その逆も同様です (DOM 固有のメソッドを使用している場合を除く)。

DOM オブジェクトがサポートするものについては、Mozilla Developer Network のチュートリアルを参照してください。
これは非常に大きなトピックであり、ブラウザによってサポートされる内容が異なります。

于 2012-11-02T18:22:27.587 に答える