Chrome拡張機能でメッセージパッシングを使用してキーアップイベントを処理する

firoj_mujawar

Chrome拡張機能の開発は初めてです。テキストフィールドとボタンで構成される拡張機能を作成しようとしています。ユーザーがテキストフィールドにテキストを入力すると、正確なものがHTMLページのlogin-idフィールドに自動的に入力されます。

これが私のファイルです。

Popup.html

<!doctype html>
<!--
This page is shown when the extension button is clicked, because the
"browser_action" field in manifest.json contains the "default_popup" key  
with
value "popup.html".
-->
<html>
  <head>
    <title>Email Extension</title>
    <script type="text/javascript" src="popup.js"></script>
  </head>

  <body>
  <center>
       Enter email id:
       <br>
       <br>
       <input type="text" id="txtEmail">
       <br>
       <br>
       <input type="button" id="btnClear" value=" Clear ">
    </center>
 </body>
</html>

Popup.js

 document.addEventListener('DOMContentLoaded', function() {
    var btnElement = document.getElementById("btnClear");
    var txtElement = document.getElementById("txtEmail");
    // onClick's logic below:
    btnElement.addEventListener('click', function() {
        clearField();
    });

    txtElement.addEventListener('keyup', function() {
        changeEmail();
    });

    function clearField() {
        txtElement.value = "";
    }

    function changeEmail() {
        var emailId = txtElement.value;
        chrome.runtime.sendMessage({msg:emailId}, function(response) {
            console.log("written");
        });
    }
});

マニフェスト.json

{
  "manifest_version": 2,

  "name": "Email Extension",
  "description": "This extension allows the user to enter Email id for login.",
  "version": "1.0",

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html",
    "default_title": "Click to Enter user id"
  },

  "permissions": [
    "activeTab",
    "storage"
  ],

  "content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["myscript.js"]
    }
  ]
}

myscript.js

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse){
        var email = document.getElementById("login_username");
        email.value = request.msg;
        console.log(request);
        console.log(sender);
        console.log(email.value);
    }
);

コンソールに「書き込まれた」と表示されているだけです。リクエストを表示せず、コンソールに送信者のコンテンツを表示せず、何も入力しませんlogin_username

誰かが私がどこで間違っているのかを理解するのを手伝ってくれますか?

Iván Nokonoko

を使用してコンテンツスクリプトにメッセージを送信することはできませんchrome.runtime.sendMessagechrome.tabs.sendMessageコンテンツスクリプトが実行されているタブのIDで使用する必要があります。たとえば、現在アクティブなタブに送信するには、次のようなものを使用できます。

function changeEmail(){
    var emailId = txtElement.value;
    chrome.tabs.query({active:true,currentWindow:true}, function(tabs){
        chrome.tabs.sendMessage(tabs[0].id,{msg:emailId}, function(response) {
            console.log("written");
        });
    });
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

セレンウェブドライバーを使用してChrome拡張機能のポップアップにアクセスして処理する

分類Dev

ネイティブアプリメッセージングを使用したChrome拡張機能の実例

分類Dev

Chrome拡張機能のメッセージパッシング

分類Dev

Chrome 拡張機能を使用して Google ドキュメントでホットキーを定義する

分類Dev

オールインワン(Edge / Firefox / Chrome)ブラウザ拡張機能のコンテンツスクリプトにメッセージパッシングコールバックを実装するにはどうすればよいですか?

分類Dev

Chrome拡張機能を使用してネイティブメッセージングホストを配布する方法

分類Dev

KafkaストリーミングDSL機能を使用して重複メッセージを処理する方法

分類Dev

Chrome拡張機能のメッセージパッシング-HTMLを渡す方法

分類Dev

ARMテンプレートを使用してLinux診断拡張機能をセットアップする

分類Dev

Chrome拡張機能はページアクションでポップアップを表示します

分類Dev

Chromeの拡張機能のバックグラウンドページのonClickイベントでメッセージをコンテンツスクリプトに送信する

分類Dev

JSイベントリスナーをChrome拡張機能のポップアップに追加する

分類Dev

サンプルログメッセージを手動でlogstashにパイプして処理する方法

分類Dev

Chrome拡張機能-複数のポートを使用したメッセージング

分類Dev

Chrome拡張機能を使用してWebページのonClickイベントからメッセージを受信するにはどうすればよいですか?

分類Dev

機能的な方法を使用してログメッセージを処理するためのベストプラクティスは何ですか

分類Dev

マルチプロセッシングを使用してパワーセットを反復処理する

分類Dev

Chrome拡張機能に「パッシブイベントリスナー」を実装する

分類Dev

通知を拡張したり、CodenameOneプッシュメッセージで通知グループを使用したりするためのヒントを作成する

分類Dev

アウトバーンサブスクリプションからのメッセージを非同期で非ブロッキングで処理します

分類Dev

reactjschrome拡張メッセージパッシングが機能しない

分類Dev

Chrome拡張機能を介してページのGoogleAnalyticsトラッキングIDを取得するにはどうすればよいですか?

分類Dev

vscodelinuxでcpp拡張機能を使用してlldbデバッグをセットアップする

分類Dev

Chrome拡張機能:コンテンツスクリプトエラーをグローバルにトラップ/処理する方法

分類Dev

新しいOptionsV2メソッドを使用してChrome拡張機能の「オプション」ページをデバッグするにはどうすればよいですか?

分類Dev

デスクトップPCでネイティブメッセージングを使用したMSEdge拡張機能-バックグラウンドでUWPアプリを実行/ UIなし

分類Dev

Chrome拡張機能popup.htmlを使用して、新しいポップアップウィンドウからDOM要素をターゲットにする方法

分類Dev

Chrome拡張機能のメッセージング:sendResponseが空のオブジェクトを返す

分類Dev

Chrome拡張機能コンテンツスクリプトメッセージング反応アプリケーションがサイプレス環境で機能しない

Related 関連記事

  1. 1

    セレンウェブドライバーを使用してChrome拡張機能のポップアップにアクセスして処理する

  2. 2

    ネイティブアプリメッセージングを使用したChrome拡張機能の実例

  3. 3

    Chrome拡張機能のメッセージパッシング

  4. 4

    Chrome 拡張機能を使用して Google ドキュメントでホットキーを定義する

  5. 5

    オールインワン(Edge / Firefox / Chrome)ブラウザ拡張機能のコンテンツスクリプトにメッセージパッシングコールバックを実装するにはどうすればよいですか?

  6. 6

    Chrome拡張機能を使用してネイティブメッセージングホストを配布する方法

  7. 7

    KafkaストリーミングDSL機能を使用して重複メッセージを処理する方法

  8. 8

    Chrome拡張機能のメッセージパッシング-HTMLを渡す方法

  9. 9

    ARMテンプレートを使用してLinux診断拡張機能をセットアップする

  10. 10

    Chrome拡張機能はページアクションでポップアップを表示します

  11. 11

    Chromeの拡張機能のバックグラウンドページのonClickイベントでメッセージをコンテンツスクリプトに送信する

  12. 12

    JSイベントリスナーをChrome拡張機能のポップアップに追加する

  13. 13

    サンプルログメッセージを手動でlogstashにパイプして処理する方法

  14. 14

    Chrome拡張機能-複数のポートを使用したメッセージング

  15. 15

    Chrome拡張機能を使用してWebページのonClickイベントからメッセージを受信するにはどうすればよいですか?

  16. 16

    機能的な方法を使用してログメッセージを処理するためのベストプラクティスは何ですか

  17. 17

    マルチプロセッシングを使用してパワーセットを反復処理する

  18. 18

    Chrome拡張機能に「パッシブイベントリスナー」を実装する

  19. 19

    通知を拡張したり、CodenameOneプッシュメッセージで通知グループを使用したりするためのヒントを作成する

  20. 20

    アウトバーンサブスクリプションからのメッセージを非同期で非ブロッキングで処理します

  21. 21

    reactjschrome拡張メッセージパッシングが機能しない

  22. 22

    Chrome拡張機能を介してページのGoogleAnalyticsトラッキングIDを取得するにはどうすればよいですか?

  23. 23

    vscodelinuxでcpp拡張機能を使用してlldbデバッグをセットアップする

  24. 24

    Chrome拡張機能:コンテンツスクリプトエラーをグローバルにトラップ/処理する方法

  25. 25

    新しいOptionsV2メソッドを使用してChrome拡張機能の「オプション」ページをデバッグするにはどうすればよいですか?

  26. 26

    デスクトップPCでネイティブメッセージングを使用したMSEdge拡張機能-バックグラウンドでUWPアプリを実行/ UIなし

  27. 27

    Chrome拡張機能popup.htmlを使用して、新しいポップアップウィンドウからDOM要素をターゲットにする方法

  28. 28

    Chrome拡張機能のメッセージング:sendResponseが空のオブジェクトを返す

  29. 29

    Chrome拡張機能コンテンツスクリプトメッセージング反応アプリケーションがサイプレス環境で機能しない

ホットタグ

アーカイブ