問題タブ [greasemonkey]

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 に答える
522 参照

javascript - どうすればGreasemonkeyのGM_xmlhttpRequestへの限定されたインターフェースを私のページのJavascriptに提供できますか?

<script>次のようなタグを挿入することで、ほとんどのコードを非特権コンテキストで実行するGreasemonkeyユーザースクリプトがあります。

これにより、で危険なことを行う必要がなくなりますunsafeWindow

ただし、私のコードは、JSONPをサポートしていない別のドメインのAPIから情報を取得する必要があります。 GM_xmlhttpRequest他のドメインにアクセスできますが、特権のあるGreasemonkeyコンテキストでのみ使用できます。

制限されたインターフェイスを提供し、を使用して必要なAPI呼び出しを正確に行う関数を作成し、GM_xmlhttpRequestその(理論的に安全な)関数を通常のページコンテキストに公開したいと思います。それに対する私の最初の試みは次のようなものでした:

興味深いことに、foo()ページコンテキストから呼び出すと、文字列化GM_xmlhttpRequestされた「Bar!」である「Foo!」が表示されます。コンソールログにあります。ただし、コンソールやアラートで応答を受け取ることはありません。GM_xmlhttpRequestGMコンテキストで独自に作成すると、アラートとログメッセージの両方が表示されます。

問題は、私がやろうとしていることは可能でさえあるのかということです。または、同じことを達成する別の方法はありますか?

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

javascript - jQueryの「nth-child」セレクターがGreaseMonkey(0.8)内で機能しないのはなぜですか?

jQueryの:nth-​​childセレクターはGreaseMonkey0.8内では機能しないと思います。(下部には、これをテストするための簡単なGMスクリプトがあります。)これはなぜですか?これはGreaseMonkey内での作業からの既知の制限ですか?誰かがこれを回避する方法をお勧めできますか?

また、GreaseMonkey内で一部の(すべてではない)jQueryクエリの実行が非常に遅いのはなぜですか?現在、簡単なベンチマークテストはありませんが、依存する非常に複雑なGMスクリプトを作成しているときに頻繁に気づきましたGMで重く。私は自分のコードをGMの外、Firebugで実行しましたが、GMの内部ではブラウザーがひざまずきましたが、物事はきびきびしていました。あいまいなことはわかっていますが、GMまたはjQueryにアーキテクチャ上の幅広い理由があるのではないかと思っていたのですが、なぜそうなるのでしょうか。

ありがとう!

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

greasemonkey - グリースモンキースクリプトを使用して、テキストボックスをfogbugzのWebサービスによるドロップダウン入力に置き換えるにはどうすればよいですか?

ケースを編集して、別の Web サービスからデータを入力する代わりに、fogbugz でクライアント オプションを最新の状態に保つドロップ ダウンに変更するときに、fogbugz の「クライアント」フィールド テキスト ボックスを置き換えたいと考えています。これは可能ですか?ドロップダウンで選択した選択肢は、テキスト ボックスに入力した場合と同じ方法で保存できますか?

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

javascript - Javascriptエイリアス

私の目標は、ある種の「Javascriptライブラリ」を作成することです。これを使用して、Webを閲覧するときにページを操作し、グリースモンキースクリプトとして動的にロードするつもりです。アイデアは、 ""winwindow、 " doc"-> document、 " win.loc"-> win.location、およびその他のいくつかの便利なマッピングにマッピングすることですが、あなたはアイデアを得ることができます。構文を取得するための例をいくつか挙げていただければ、残りを推定しますか?本当にありがとう。

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

javascript - XPath または querySelector?

XPath は、querySelector が実行できるすべてのこと、およびそれ以上のことを実行できます。この 2 つを比較する速度のベンチマークは見たことがありません。そのため、現時点では構文の簡潔さに基づいて選択していますが、これは恣意的なものに思えます。

編集: おそらく、私は Firefox 用の Greasemonkey スクリプトを作成していると述べるべきだったので、ブラウザー間の互換性について心配しておらず、ライブラリを含めたくありません。

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

javascript - JS 自動スクロール

以前ギターのタブ譜サイトを使っていたのですが、ページを自動スクロールできる機能がありました。画面がスクロールされるページのどこに関係なく固定されたコントロールパネルがあり、スクロール速度を設定してオフにすることができました. 今では、それがどのサイトだったのか思い出せず、また見つけることもできません (かなり確実なサイトを見つけましたが、そのサイトにはその機能がないため、削除された可能性があります)。なぜ彼らがそれをしたのか私にはわかりませんが。

私の質問は 、これをグリースモンキー スクリプトで、できれば X ブラウザーとの互換性のために jQuery を介して複製できるようにして、他のサイトで歌詞、タブ、および並べ替えを使用できるようにしたいです。どうやってやるの?これをコミュニティ ウィキ モードに設定しているので、誰かが私が話しているサイトを知っている/見つけた場合は、参考のために自由にリンクしてください。

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

greasemonkey - eval から GM_xmlhttpRequest() を実行する

(私の) サーバー上のサーブレットと通信する小さな Greasemonkey スクリプトがあります。サーブレットは JavaScript コードを送り返していますGM_xmlhttpRequest

これまでのところ、すべて正常に動作しています。ここで、そのed コードGM_xmlhttpRequest内からsend another を使用したいと思います。eval()そしてここで私は立ち往生しています。エラーは表示されませんが、すべてのGM_*機能が 内から機能していないようeval(responsetext)です。

GM_xmlhttpRequestonload ハンドラー (no ) でハードコーディングすると、正常にeval()動作します。

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

xpath - Greasemonkey、XPath:テーブル行内のすべてのリンクを検索

与えられた:

テーブルセル内の各URIを一致させる必要があります。キーワードはドキュメント全体で一貫しています。ドキュメント全体のリンクを問題なく照合できます。

ただし、TRノードを参照する簡単な方法はありますが、行内のリンクを取得するための適切なXPathを見つけることができないようです。以下のスニペットは、最初のTDの最初のリンクを提供しているようですが、残りは提供していません。ヘルプ?

(ここで、「行」はコンテキストノードです)。

編集:おそらく私は明確ではありませんでした、私はドキュメントレベルからのリンクをうまく見つけることができます。XPathのコンテキストとしてTRノードを使用して、単一行のリンクを分離しようとしています。

編集:興味のために、解決策。私が取り組んでいた壊れたマークアップにはid属性がなかったので、いくつか追加して続行することができました。スニペット: