問題タブ [execcommand]

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 投票する
12 に答える
111358 参照

javascript - execCommandで「プレーンテキストとして貼り付ける」ためのJavascriptのトリック

execCommandここで紹介したサンプルに従うことに基づいた基本的なエディターがあります。execCommandエリア内にテキストを貼り付ける方法は3つあります。

  • Ctrl+V
  • 右クリック->貼り付け
  • 右クリック->プレーンテキストとして貼り付け

HTMLマークアップなしでプレーンテキストのみを貼り付けることを許可したい。最初の2つのアクションにプレーンテキストを貼り付けるように強制するにはどうすればよいですか?

考えられる解決策:Ctrl私が考える方法は、( + )のキーアップイベントのリスナーを設定し、V貼り付ける前にHTMLタグを削除することです。

  1. それが最善の解決策ですか?
  2. 貼り付けでHTMLマークアップを回避することは防弾ですか?
  3. 右クリック->貼り付けにリスナーを追加するにはどうすればよいですか?
0 投票する
1 に答える
784 参照

javascript - javascript(またはjQuery)を使用してYouTubeビデオをiframe(WebベースのRTE)に追加する方法

「Blogger」のように機能するjavascript(jQuery)とHTMLを使用してリッチテキストエディタを作成したいと思います。

エディターのユーザーには、フォーマットされたテキスト(太字、さまざまなサイズのフォントなど)を追加したり、画像を追加したり、YouTubeからビデオを追加したりできるようにしたいと思います。私の検索結果は、すべてのWebベースのRTEが「document.execCommand」を使用していることを示しています。最初の2つ(フォーマットされたテキストと画像)の例は見つかりましたが、ビデオを追加する例は見つかりませんでした。

このコード(関数'test')を使用しようとしましたが、機能しません。ボタン(ビデオ)をクリックすると、iframe(テキストエディタ)が空になります。

誰かがiframeにビデオを追加する方法を知っていますか?execCommandを使用しない他の解決策はありますか?

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

javascript - 太字の ExecCommand 関数の定義は?

ExecCommand は、iFrame 内のテキストを太字にしたり、斜体にしたり、下線を引いたりする方法を提供します。

<cite>ただし、 or<strong>またはを作成するオプションがありません<em>(formatBlockブロック要素のみがあり、インライン要素はありません)。

作成に ExecCommand 関数を使用したいの<cite>ですが、これを実現する方法はありますか? そして明らかに、同じ選択で2回使用すると失敗するboldようなものではなく、場合のように完璧な解析を維持したいと考えています。surroundContents

ExecCommand bold コマンドの定義、または既存のコマンドを使用して完璧に追加する方法を探しています<cite>。助言がありますか?ブラウザの機能から抽出できませんでした。それをしようとすると、「ネイティブコード」と表示されます。

0 投票する
3 に答える
10516 参照

javascript - document.execCommandよりも優れたものはありますか?

Webベースのリッチテキストエディタを実装するときdocument.execCommand、HTMLドキュメントで操作を実行するのに役立つことを読みました(選択範囲を太字にするなど)。ただし、もう少し良いものが必要です。具体的には、innerHTMLに追加または削除されるテキストと、その場所(ドキュメント全体のHTML表現へのオフセットとして)を正確に知る必要があります。

組み込みのdocument.execCommandをDOM4のミューテーションオブザーバーと一緒に使用することを検討しましたが、execCommandはそのタスクに対応していないようです。

  • 選択範囲を「太字から外す」方法がわかりません
  • 生成されるhtmlはブラウザごとに異なるようです。(<b>ではなく<span>タグが欲しいのですが、一貫性がより重要です)
  • また、冗長にネストされた/隣接する<span>タグを処理するための情報はありません。

また、ミューテーションオブザーバーを使用することは、私のニーズに基づいて少しやり過ぎのようです。

私の動機:ドキュメント全体を再送信せずに、ドキュメントの変更をサーバーに定期的に送信しようとしています。HTML表現での挿入と削除のコレクションとしてデータを送信しています。誰かがこの機能をCKEditorなどから引き出す方法を知っているなら(私は最初から始める必要はありません)、私はあなたを永遠に愛しています。

注:非常に大きなドキュメントではパフォーマンスが低いため、テキスト差分を実行することはできません。

そうでなければ、私はこれを行う何かを書こうとすることを正確に恐れていません。DOMの範囲オブジェクトによって提供されるメソッドは、多くの手間のかかる作業を処理します。この可能性についてもアドバイスをいただければ幸いです。

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

javascript - execCommand でエラーが発生する

新しい iframe を作成し、それをメイン ウィンドウ ドキュメントに追加して、次の JavaScript を実行します。

frame は iframe 要素です。残念ながら、次のエラーが表示されます。

iframe で execCommand() 関数を有効にするにはどうすればよいですか? 何か足りないものはありますか?

0 投票する
3 に答える
14693 参照

javascript - execCommandを使用して挿入後に画像要素を取得する方法は?

execCommand を使用して画像を挿入した後、画像要素を取得する方法はありますか? 例えば

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

html - contentEditable-execCommand'heading'はFirefoxでのみ機能します

選択したテキストをH2タグでラップする次のコードがあります。

問題は、Firefoxでのみ機能することです(IEではまだテストしていませんが)。SafariやChromeでは動作しません。

私は何かを逃したことがありますか、それともこの機能はすべてのブラウザと互換性がないだけですか?

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

javascript - document.execCommand のシステム フォントにアクセスしていますか?

そのため、テキスト編集領域 ( TinyMC editorによく似ています) でexecCommand ( FontName コマンドを使用) を使用していますが、マシン上の最も一般的なシステム フォントのリストにアクセスする方法がわかりません。

むしろ、最も一般的に使用されている特定のフォントを指定し、それらがクライアント マシン上にあることを期待する必要がありますか?

(私は宿題をしましたが、この件に関する他のスレッドは見つかりませんでした)。

ありがとう、ガブステロ

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

execcommand - 色を選択している間、テキストの選択をアクティブに保つ

したがって、JSColor ピッカーを使用して、次の行に沿ってコマンドを送信できるdocument.execCommandメソッドと組み合わせて、選択したテキストの前景を変更しています。

fmtEdit 関数は次のようになります。

たとえば、 onClick イベントを使用してボタンまたは画像からコマンドを送信した場合、コードは完全に正常に機能します。

しかし、カラー ピッカー フィールドをクリックして色を選択すると、選択したテキストのフォーカスが失われます。

カラーセレクターをクリックしている間、選択したテキストの選択を維持する方法はありますか?

どうもありがとう!ギャブスター。

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

javascript - 選択なしの execCommand?

私は次のdivを持っています:

この div 内で、ユーザーが入力するたびに特定の量の単語を太字に見せたいと考えています。そのため、次の変更リスナーがあります。

document.execCommand()を使用しようとしましたが、太字にしたいテキストを選択した場合にのみ機能します。しかし、ユーザーは太字にする必要がある単語を知らないため、テキストを選択したくありません。