問題タブ [safari-extension]

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 投票する
2 に答える
248 参照

html - アプレットの負荷を検出することはできますか?

<applet>私は Safari 拡張機能に取り組んでおり、ページにs がいつロードされるか (onbeforeloadイベント)を検出したいと考えています。ただし、これらについてはそのようなイベントはないようです。

どうすればいいですか?<applet>すべてのタグをタグに変換してから、それらのイベント<object>をインターセプトしますか? onbeforeloadコレクションが壊れると思うdocument.appletsので、あまりクールな解決策ではありません。より良い方法はありますか?

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

safari - Safari 拡張機能に関する質問

私は最初の Safari 拡張機能 (非常に単純なもの) を作成中ですが、いくつかの問題に遭遇しました。拡張機能は、ネイティブ フィード ハンドラをバイパスして http:// URI にリダイレクトしようとする単一の挿入されたスクリプトに要約されます。これまでのところ、私の問題は2つあります。

  1. 「ホワイトリスト」が期待どおりに機能していません。すべてのフィードは「feed://」プロトコルで表示されるため、ホワイトリストに「feed://*/*」としてキャプチャしようとしましたが (ブラックリストには何もありません)、リクエストになってしまいます理解できないループ。「 http://*/*」と「https://*/* 」のブラックリスト値を設定すると、すべてが期待どおりに機能します。
  2. 挿入されたスクリプトから自分の設定にアクセスする方法がわかりません。スクリプトはbeforeloadイベント ハンドラーを作成しsafari.extension.settingsますが、ドキュメントに示されているパスを使用して設定にアクセスできません。

Apple のドキュメントには、スクリプトから設定を使用できないことを示すものは見つかりませんでした。拡張機能は非常に新しい機能であるため、Google でさえ返される関連する結果は限られており、それらのほとんどは公式ドキュメントからのものです。

私は何が欠けていますか?

更新 したがって、境界線がひどいため、ドキュメントが不完全であることを願っていますが、設定について少し学びました。インジェクション スクリプトから、SafariExtensionSettingsオブジェクトが利用できないことが判明しました。インジェクション スクリプトはオブジェクトにしかアクセスできSafariContentExtensionませんが (これはまったく役に立ちません)、まったく同じ方法でエイリアス化されます ( safari.extension.settings)--悪い考えです。インジェクションスクリプトのドキュメントに記載されているように:

重要: 挿入されたスクリプト内から safari.extension を使用する場合、SafariExtension クラスに対処していません。SafariContentExtension クラスに対処しています。

設定にアクセスできるグローバル HTML ファイルと通信するには、メッセージング システムを使用する必要があります。ちょっとおかしな話ですがglobal.html、設定を取得するファイルにメッセージが送信されており、その方法がわかり次第、インジェクション スクリプトにメッセージを送り返します。

ドキュメントが読み込まれる前にすべての作業を行っているため、メッセージを送り返すために見つけたすべてのメソッドは、私が持っていないページ オブジェクトに依存しています。

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

safari - Safari 拡張機能 - 設定の変更に対応するには?

現在、Safari 5 の拡張機能に取り組んでおり、設定が変更されるたびにリスナー機能を実行したいと考えています。Apple はその例を提供していますが、私にはうまくいきません。現在、グローバル html ファイルにこのリスナー関数があります。

誰かが私を助けてくれることを願っています。誰かが私が間違っていることを知っていますか?

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

safari - Safari拡張機能-メッセージに応答する挿入されたスクリプトが多すぎます

Chrome用のバブル翻訳に似たサファリ拡張機能をコーディングしようとしています。

ツールバーのボタンをクリックすると、現在選択されているテキストがGoogle言語APIを使用して選択した言語に自動的に翻訳されます。

私が抱えている問題は次のとおりです。

スクリプトは、メインページだけでなく、ページに埋め込まれている広告や同様のものにも挿入されます。そのため、1ページに埋め込まれたすべてのスクリプトがメッセージに応答するため、選択したテキストは複数回翻訳されます。

スクリプトが適切なページにのみ挿入されていること、または適切なページのみが応答していることを確認するにはどうすればよいですか?

0 投票する
7 に答える
10345 参照

safari-extension - Safari が拡張証明書を検出しない

Safari 開発プログラムに登録し、有効な Apple ID を持っています。Appleが提供するすべての手順に従いました。問題は、Windows XP (Service Pack 2) がコマンド 'certreq' を認識しないことですが、説明書にはどの Windows マシンでも動作すると書かれています。ただし、コマンド「certreq」は、同僚のマシンの Windows Vista で動作していました。証明書 (.cer ファイル) をダウンロードしてインストールすると、Safari がそれを検出しました。ただし、私は Windows Vista を持っていません。マシンに Windows 7 をインストールしました。コマンド 'certreq' が機能し、Safari 拡張機能証明書 (.cer ファイル) がありますが、Safari の拡張機能ビルダーを開くと、証明書が表示されません。

Start --> Run に mmc と入力し、そこに証明書がインストールされているかどうかを確認しました。「その他の人」にはありましたが、「個人」にはありませんでした。Internet Explorer 7 以降でも、[ツール] --> [インターネット オプション] --> [コンテンツ (タブ)] --> [証明書] に移動すると、[個人] タブに証明書がありません (個人用フォルダに自動的にインストールされます)。ウィンドウズ ビスタ)。証明書 (.cer ファイル) を Peronal フォルダーにインポートしようとしましたが、インポートは成功しましたが、個人フォルダーには表示されず、Extension Builder に移動しても Safari で認識/検出されません。

何か助けになりますか?! オフィス プロジェクトの延長を行う必要があり、締め切りが迫っています。私は本当にそれを成し遂げる必要があります。

何百万もの期待に感謝します。

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

javascript - 単語を「分割」できる文字を定義できますか?

Safari 拡張機能に非常に長い URL が表示されます。明らかに、それらは単一の行に収まりません。現在、単語分割ルールにより、ほとんどの URL は 2 行で構成されています。最初の行はかなり短く、?記号で終わり、もう 1 行は途方もなく長く、残りのすべてのGETパラメーターが含まれています。

&可能であれば、コピーと貼り付けを台無しにすることなく、単語も記号で区切られるようにしたいと思います。&everyを&\u00ad( + ソフト ハイフン文字)に置き換えようとしましたが、実際には URL にハイフンがないのに、の&後にハイフンが表示されるのはちょっと奇妙です。&

そういう問題はCSS3で何とかしようかなと思ったのですが、見当たりません。

Safari で動作する限り、どんな提案も歓迎します。

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

rss - safari5 で feed:// を傍受する

私は Safari5 の拡張機能を作成しており、ユーザーが RSS アイコンをクリックして feed://.... URL を読み込んで購読オプションを提供しているという事実を傍受しようとしています。feed:// / whitelist パターンの開始コンテンツ スクリプトを登録しようとしましたが、うまくいきません。これを機能させる方法を知っている人はいますか?

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

javascript - サファリ拡張機能のコンテキストメニューイベントのリンクを特定する

ユーザーがリンクを右クリックすると、おいしいブックマークを作成するサファリ拡張機能(主に学習目的)を構築しようとしています。WWDCのSafari拡張機能の作成ビデオを見ましたが、すべて正常に機能しています。

ユーザーがリンク(または単にテキスト)をクリックしたかどうかを確認する方法がわからないことを除いて、クリックした場合は、URLとタイトルを取得します。私がこれまでに得たものはこれです:

しかし、これは明らかに私に選択の文字列を与えるだけです。これで、Safariリファレンスライブラリによると、オブジェクトgetSelection()が返されます。しかし、そこにさえ、選択したリンクのハンドルを私に与えるメソッドを見つけることができません。DOMSelection

お気づきかもしれませんが、私はこのjavascriptとDOM全体にかなり慣れていないので、これが明らかな質問である場合は失礼します:)

チャオ、スヴェン

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

javascript - Safari 5 エクステンション

私は Safari 5 拡張機能を独学しようとしていますが、Web 開発全般は初めてです。サンプルコードを見ると、次のことがわかります。

私は何語を見ているのだろうか?ほとんど C に似た関数とコードが表示されます。Apple のドキュメントには、HTML、javascript、CSS、および HTMl5 を知っていると役立つと書かれていますが、それらのサンプルが何に書かれているのかわかりません。

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

php - HTML PHPJavaScriptGmailの未読数をチェックするものは何でも

これらすべてのブラウザプラグイン、通知機能などは、Gmailの未読数をどのようにチェックしますか?

Safari拡張機能(JavaScriptで作成されていますが、重要ではないと思います)を作成しようとしていますが、Gmailのアトムフィード(https://mail.google.com/ )を解析する方法がわかりません。 mail / feed / atom)を使用して、未読数を取得します。

ありがとう、