問題タブ [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.
javascript - どうすればGreasemonkeyのGM_xmlhttpRequestへの限定されたインターフェースを私のページのJavascriptに提供できますか?
<script>
次のようなタグを挿入することで、ほとんどのコードを非特権コンテキストで実行するGreasemonkeyユーザースクリプトがあります。
これにより、で危険なことを行う必要がなくなりますunsafeWindow
。
ただし、私のコードは、JSONPをサポートしていない別のドメインのAPIから情報を取得する必要があります。 GM_xmlhttpRequest
他のドメインにアクセスできますが、特権のあるGreasemonkeyコンテキストでのみ使用できます。
制限されたインターフェイスを提供し、を使用して必要なAPI呼び出しを正確に行う関数を作成し、GM_xmlhttpRequest
その(理論的に安全な)関数を通常のページコンテキストに公開したいと思います。それに対する私の最初の試みは次のようなものでした:
興味深いことに、foo()
ページコンテキストから呼び出すと、文字列化GM_xmlhttpRequest
された「Bar!」である「Foo!」が表示されます。コンソールログにあります。ただし、コンソールやアラートで応答を受け取ることはありません。GM_xmlhttpRequest
GMコンテキストで独自に作成すると、アラートとログメッセージの両方が表示されます。
問題は、私がやろうとしていることは可能でさえあるのかということです。または、同じことを達成する別の方法はありますか?
javascript - jQueryの「nth-child」セレクターがGreaseMonkey(0.8)内で機能しないのはなぜですか?
jQueryの:nth-childセレクターはGreaseMonkey0.8内では機能しないと思います。(下部には、これをテストするための簡単なGMスクリプトがあります。)これはなぜですか?これはGreaseMonkey内での作業からの既知の制限ですか?誰かがこれを回避する方法をお勧めできますか?
また、GreaseMonkey内で一部の(すべてではない)jQueryクエリの実行が非常に遅いのはなぜですか?現在、簡単なベンチマークテストはありませんが、依存する非常に複雑なGMスクリプトを作成しているときに頻繁に気づきましたGMで重く。私は自分のコードをGMの外、Firebugで実行しましたが、GMの内部ではブラウザーがひざまずきましたが、物事はきびきびしていました。あいまいなことはわかっていますが、GMまたはjQueryにアーキテクチャ上の幅広い理由があるのではないかと思っていたのですが、なぜそうなるのでしょうか。
ありがとう!
greasemonkey - グリースモンキースクリプトを使用して、テキストボックスをfogbugzのWebサービスによるドロップダウン入力に置き換えるにはどうすればよいですか?
ケースを編集して、別の Web サービスからデータを入力する代わりに、fogbugz でクライアント オプションを最新の状態に保つドロップ ダウンに変更するときに、fogbugz の「クライアント」フィールド テキスト ボックスを置き換えたいと考えています。これは可能ですか?ドロップダウンで選択した選択肢は、テキスト ボックスに入力した場合と同じ方法で保存できますか?
javascript - Javascriptエイリアス
私の目標は、ある種の「Javascriptライブラリ」を作成することです。これを使用して、Webを閲覧するときにページを操作し、グリースモンキースクリプトとして動的にロードするつもりです。アイデアは、 ""win
をwindow
、 " doc
"-> document
、 " win.loc
"-> win.location
、およびその他のいくつかの便利なマッピングにマッピングすることですが、あなたはアイデアを得ることができます。構文を取得するための例をいくつか挙げていただければ、残りを推定しますか?本当にありがとう。
javascript - XPath または querySelector?
XPath は、querySelector が実行できるすべてのこと、およびそれ以上のことを実行できます。この 2 つを比較する速度のベンチマークは見たことがありません。そのため、現時点では構文の簡潔さに基づいて選択していますが、これは恣意的なものに思えます。
編集: おそらく、私は Firefox 用の Greasemonkey スクリプトを作成していると述べるべきだったので、ブラウザー間の互換性について心配しておらず、ライブラリを含めたくありません。
javascript - JS 自動スクロール
以前ギターのタブ譜サイトを使っていたのですが、ページを自動スクロールできる機能がありました。画面がスクロールされるページのどこに関係なく固定されたコントロールパネルがあり、スクロール速度を設定してオフにすることができました. 今では、それがどのサイトだったのか思い出せず、また見つけることもできません (かなり確実なサイトを見つけましたが、そのサイトにはその機能がないため、削除された可能性があります)。なぜ彼らがそれをしたのか私にはわかりませんが。
私の質問は 、これをグリースモンキー スクリプトで、できれば X ブラウザーとの互換性のために jQuery を介して複製できるようにして、他のサイトで歌詞、タブ、および並べ替えを使用できるようにしたいです。どうやってやるの?これをコミュニティ ウィキ モードに設定しているので、誰かが私が話しているサイトを知っている/見つけた場合は、参考のために自由にリンクしてください。
greasemonkey - eval から GM_xmlhttpRequest() を実行する
(私の) サーバー上のサーブレットと通信する小さな Greasemonkey スクリプトがあります。サーブレットは JavaScript コードを送り返していますGM_xmlhttpRequest
。
これまでのところ、すべて正常に動作しています。ここで、そのed コードGM_xmlhttpRequest
内からsend another を使用したいと思います。eval()
そしてここで私は立ち往生しています。エラーは表示されませんが、すべてのGM_*
機能が 内から機能していないようeval(responsetext)
です。
GM_xmlhttpRequest
onload ハンドラー (no ) でハードコーディングすると、正常にeval()
動作します。
xpath - Greasemonkey、XPath:テーブル行内のすべてのリンクを検索
与えられた:
テーブルセル内の各URIを一致させる必要があります。キーワードはドキュメント全体で一貫しています。ドキュメント全体のリンクを問題なく照合できます。
ただし、TRノードを参照する簡単な方法はありますが、行内のリンクを取得するための適切なXPathを見つけることができないようです。以下のスニペットは、最初のTDの最初のリンクを提供しているようですが、残りは提供していません。ヘルプ?
(ここで、「行」はコンテキストノードです)。
編集:おそらく私は明確ではありませんでした、私はドキュメントレベルからのリンクをうまく見つけることができます。XPathのコンテキストとしてTRノードを使用して、単一行のリンクを分離しようとしています。
編集:興味のために、解決策。私が取り組んでいた壊れたマークアップにはid属性がなかったので、いくつか追加して続行することができました。スニペット: