問題タブ [userjs]

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

javascript - アンカーまでスクロール

URLのアンカー部分を削除することを目的とした次のuserjsがありますが、それでもそこにジャンプします:

問題は、名前が設定された空の<a>タグがある場合、ジャンプに失敗することです。obj.scrollIntoView()も失敗します。Opera-10.52_pre6306、Gentoo。

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

javascript - WebページJSが読み上げるユーザーJS

現在、Opera の UserJS を介して Web ページにいくつかの機能を追加しています。Web ページのデザイナーが、Web ページの UserJS で実行している JavaScript アクションを (たとえば、JavaScript を介して) 確認できるかどうか疑問に思っていました。

これは可能ですか?UserJS が最初に実行され、実際にはページに「追加」されていないため、そうではないと思います。確認したいので、質問です。

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

javascript - Opera User-JS:生のサーバー応答を取得するにはどうすればよいですか?

私はOpera用のユーザーJSを書いています。拡張子がないリクエスト、/stuff/code/MyFileたとえばJavaScriptに関連しないリクエストに反応します/stuff/code/load.do。応答のcontent-typeは、text/html純粋なJavaScriptソース(text/javascript)を返しますが、に設定されます。私はサーバーコードにアクセスできないので、これを使用する必要があります。

ここでの問題は、ソースを行番号などでフォーマットして、Opera内に表示したいということです。したがって、私は反応するためにいくつかのユーザーJSを作成しましたAfterEvent.DOMContentLoaded(これも試してみましたAfterEvent.load、同じことです)。e.event.target.body.innerHTML本体、つまりJavaScriptコードにアクセスするために読み取ります。

ソースにHTMLタグまたは比較演算子(<、>)が含まれていない場合は、それだけでもうまく機能します。そうなので、私は望む出力を得ることができません。text/htmlOperaには、 -responseを独自の表現形式に変換するための内部ロジックがあるようです。これには、たとえば、HTMLタグが削除された後のCRLFや、2つの「一致する」<と>(比較演算子!)の間のコードが1行にまとめられ=""、そこにある各単語の後に適用されることが含まれます。

そして、そこに問題があります。

ユーザーJSなしで同じURLをリクエストし、「ページ」のソースを見ると、サーバーが送信したものと同じクリーンなJavaScriptコードが表示されます。そして、これは私がアクセスしたいものです。

innerTextの代わりにを使用するとinnerHTML、OperaはHTMLタグを削除して、ファイルを元のファイルとは異なるものにします。

outerHTML、、も見てみましouterTexttextContentが、どれも同じ問題です。

Operaはここで何も悪いことをしていないことを私は知っています。サーバーはそれがaであると言い、Operaは通常のような応答text/htmlで通常行うことを実行します。text/html

したがって、私の質問は次のとおりです。ユーザー-JSで手つかずの応答を取得する方法はありますか?

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

javascript - Opera ウィジェットまたは拡張機能で外部プログラムを実行する方法はありますか? Linuxでのエンコーディングの問題について

外部プログラムを呼び出せる拡張機能を開発中です。
firefoxではnsIProcessが使えてとても簡単です。
しかし、opera の UserJS またはウィジェットは非常に弱く、そのような機能はありません。
回避策はありますか?

別の質問ですが、プロトコル ハンドラを使用しようとしました。
それはただ奇妙で、奇妙な問題が現れます。

  1. プロトコル ハンドラに渡された URL に %AE のような UTF-8 文字が含まれている場合、
    escape() を使用するかどうかに関係なく、ハンドラは正しい URL を受け取ることができません。
    これを回避するには、 % をいくつかの奇妙な文字列に置き換える必要があります。それは本当に醜い解決策です。
    Linux、opera 11.0 でのみ表示されます。
    私はそれがバグだと思い始めています。
  2. Opera Linux では、URL のすべてのバックスラッシュを「/」に置き換えます。これはしたくないのですが、どうすれば無効にできますか?
0 投票する
3 に答える
4857 参照

javascript - 最新のFirefoxでinput type="submit"をクリックするにはどうすればよいですか?

私はFacebook用に非常に人気のあるUserJSを作成しましたが、FF 3.6.13バージョンから(そのバージョンでは)動作しません。そのような要素をクリックする方法がわかりません:

? このようなボタンをマウスでクリックすると、別のページにリダイレクトされます。

私のスクリプトが行うことは、Xpath でそのような要素を検索し、単純にそれらをクリックすることですacceptbutton.click();

Opera、Chrome、および FF <3.6.13 ではうまく機能しますが、最新バージョンでは何も起こりません。ここでstackoverflowで見つけたfireEvent関数とeventFire関数の両方も試してみましたが、これはよく役立ちますが、今回はできません。

おそらくJQueryのclick()機能を使用すると役立つでしょうが、userjsでjqueryを使用できません。

私も試しacceptbutton.form.submit();ましたが、間違ったページにリダイレクトされます。

編集 :

OK、コードフラグメントを追加しています

助けてくれてありがとう!

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

internet-explorer - Chrome で user.js 設定の管理を提供する方法はありますか?

私はhttp://userscripts.org/scripts/review/86621の開発者です。これは、Google SERP での Web サイトの位置を監視できる単純なスクリプトです。

スクリプトの先頭にある配列によって設定されたユーザーの Web サイトのリスト。次のようになるまで、それは私にとって受け入れられました。

  • 一部のユーザーは、URL の長いリストを追加する簡単な方法について尋ねました
  • Chrome に変換しましたが、そこに [スクリプトの編集] ボタンがありません

ネイティブブラウザの方法で設定にアクセスするのに役立つ API はありますか (chrome://settings/extensionSettings を介して、[オプション] ボタンをクリックして)?

また、他のブラウザ用の API についても教えていただければ幸いです。

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

javascript - ページの読み込みが完了し、img、script、css などのすべてのアセットをダウンロードしたときに関数をトリガーするために、Opera の userJS で使用されるイベント名は何ですか?

これは私のコードです:

最新の安定版とアルファ版の Opera でも同じ状況です。

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

jquery - Opera userJS の jQuery

Opera で UserJS の勉強を始めました。試しに、jQuery ライブラリと jQuery UI を接続してみましたが、うまくいきませんでした。コードは次のとおりです。

最初の警戒作業。2 つのライブラリがページに接続されていますが、jQuery コードが機能していません。なにが問題ですか?

PS。次のエラーが表示されます: ReferenceError: Undefined variable: $

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

javascript - このグリースモンキー/javascript コードがコロンで動作するのはなぜですか?

期待どおりに動作します - 望ましい機能は、セミコロン キーを使用してより簡単に bang! を呼び出すことができることです。ただし、何らかの理由で、コロンを含む URL の永続的な更新も引き起こします (実際には何もしないはずです)。

コードは次のとおりです。

テストページの例: https://duckduckgo.com/?q=w%3A+greasemonkey(なぜこれがいつまでも新鮮なの??!!?!?! garrrr!) およびhttps://duckduckgo.com/?q=w%3B+greasemonkey(期待どおりに動作するか - 万歳!)

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

javascript - Opera: スクリプト ストレージから値を読み取ろうとしたときのセキュリティ エラー

Opera 用のユーザー JS スクリプトを作成しています。window.opera.scriptStorage を使用して値を保存および取得しようとしています。

スクリプト ストレージをカプセル化するために、__E​​nvDriver という型を作成しました。

(__EnvDriver タイプの関数は実行時に決定され、将来 Firefox または Chrome のサポートを簡単に実装できます。)

問題なく値を格納できますが、値を読み取ろうとすると、次のエラーが発生します。

window.__EnvDriver.storage何らかの方法で使用しようとすると同じエラーが発生するため、問題は値へのアクセスにあるようです。ストレージ オブジェクトを別の場所に格納しようとしましたが、すべて同じ動作を示します。これは、最新の Opera アップデート (v12.01) 以降にのみ発生しているようです。

どんな助けでも大歓迎です。