-4

GMail でメッセージを編集しています。「インデント」、「アウトデント」、「右から左」などのスタイリング ボタンの 1 つを押したいと思います。

押すのではなく、アドレスバーにjavascriptを入力してEnterキーを押すことでこれを行いたいです。

(マウスではなくキーボードを使用してボタンを押すスクリプトを作成できるので、これに興味があります。)

これは可能ですか?

報奨金:

報奨金は、Chrome のアドレス バーに配置してボタン (「インデント」、「リンク」、「アウトデント」、「右から左」など)押される。(もちろん、ボタンごとに異なる行です。)

4

4 に答える 4

4

要素を選択するには、最初に iframe を選択する必要があります

var inlineFrame = document.getElementById("canvas_frame");

次に iframe から、次のように contentwindow (iframe のウィンドウ スコープ) を取得できます。

var contentwindow = inlineFrame.contentWindow;

次に、queryselector (実際のブラウザーのみ (IE8 はサポートされていません)) を使用すると、このようなボタンを選択できます。([command='+bold']単純に、値が '+bold' である属性 command を持つ任意の要素、CSS のように) を意味します)。

var button = contentwindow.document.querySelector("[command='+bold']");

関連するボタンを調べると、選択に使用できるコマンド属性がすべて含まれています。次に、ボタンを使って好きなことを行うことができます (イベントをシミュレートするさまざまな方法については、stackoverflow で他の回答を探してください。自分でできるはずです)。

それをブックマークレットとして使いたい場合は、もちろんそれから1行を作成することもできますが、答えとしてはこのようにするとより明確になると思いました.

于 2012-07-05T09:28:42.483 に答える
1

最初に、「クリック」したい DOM 要素の ID / タグ インデックス / css クラスを把握し、次にセレクターを使用してアクセスし、最後にそのクリック イベントを呼び出す必要があります。

DOM 要素を動的に選択するには、document.getElementById(<id>)その ID がわかっているdocument.getElementsByTagName(<tagName>)[<index>]場合、タグ名とインデックスがわかっている場合に使用できます。

要素が特定の css クラスを使用していることだけがわかっている場合でも、element.className==<className>jquery を動的にインポートしてから呼び出すまで、すべてのタグをループできます。$('.<className>').trigger('click');

お役に立てれば

于 2012-07-10T08:37:30.620 に答える
1

やってみるCtrl+B、、、Ctrl+IというCtrl+U ことですか?

于 2012-07-02T10:03:38.033 に答える
0

免責事項:Gmailに直接関係しない、より一般的な回答。

ページ上の任意の要素をクリックするには、メソッドを使用できますelement.click()。すべての要素にクリックメソッドがあるわけではないことに注意してください。<input>ただし、要素はサポートします。

documentURLバーからオブジェクトにアクセスできるかどうかわかりません。したがって、Firefoxを使用している場合は、Firebg以上のスクラッチパッド([ツール]>[Web開発者]>[スクラッチパッド])を開いて、次のように記述します。-

javascript:function foo(){document.getElementById('link1').click();}foo();

上記のコードを実行するclickと、IDが「link1」の要素でメソッドが呼び出されます。

于 2012-07-02T10:34:24.450 に答える