Firefox Vimperator-> autocmdで現在のdocument.titleをエコーする方法は?


4

これをやろうとすると

:autocmd LocationChange .* echo document.title

表示される最初のページはエコーしません。次のタブに進むと、最後のタブのタイトルがエコーされます。

ページに着陸するたびに、タブを「離れる」のではなく、すぐにタイトルがエコーされる方法を知っている人はいますか?

そして、それは2回ごとにしか機能しません。タブ1、2、3、4、5、6、7、8(次のタブ)を通過すると、出力は(現在1になっています)

  • _ブランク
  • 1のタイトル
  • _
  • 3のタイトル
  • _
  • 5のタイトル
  • _
  • 7のタイトル
  • _

(現在はタブ8にあります)

でも私はしたい

  • 1のタイトル
  • 2のタイトル
  • ...

何か案は?

回答:


2

Firefoxで「2番目のページタイトルが欠落している」という部分はありませんでした(古いバージョンを使用していますか?)。しかし、「ページを離れる」部分はあなたと同じです。これが起こる理由は理解できます。このLocationChangeイベントは、場所を変更するとすぐに発生するため、現在のドキュメントのタイトルを取得するだけです(これによりドキュメントが残されます!)。
1つの方法は、タイトルを取得する前に遅延を追加することです。これが私が試していることです:このメソッドを追加するvimperator / pluginディレクトリにjavascriptファイルを置きます:

   commands.addUserCommand ("showtitle", "add some delay before showing it",
    function (args) {
        setTimeout(function() {
            liberator.echo(document.title);
        }, 1);
    }
);

このプラグインは(FFを再起動した後)vimperatorの新しいコマンドを追加します。このコマンドを呼び出すと、1ミリ秒後に現在のドキュメントタイトルが表示されます。これで、自動コマンドにこの新しいコマンドを使用できますautocmd LocationChange .* showtitle。この後、ほとんどの場合、現在のドキュメントタイトル(現在のドキュメント)がエコーされます。遅延を増やしてより正確にすることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.