ユーザーがサインインするために新しいChromeタブを開いたとします。タブはChrome拡張機能からcreateTabによって開かれます。そして、ユーザーがサインインし、サーバーが応答を送信したら、Chrome拡張機能に応答データを取得させるにはどうすればよいですか?
タブの作成と削除の両方を行うことはできますが、Chrome拡張機能が応答を受け取ったことをChrome拡張機能に知らせて、Chrome拡張機能がその応答を読み取り、ローカルストレージに保存して、クロームタブ。
ユーザーがサインインするために新しいChromeタブを開いたとします。タブはChrome拡張機能からcreateTabによって開かれます。そして、ユーザーがサインインし、サーバーが応答を送信したら、Chrome拡張機能に応答データを取得させるにはどうすればよいですか?
タブの作成と削除の両方を行うことはできますが、Chrome拡張機能が応答を受け取ったことをChrome拡張機能に知らせて、Chrome拡張機能がその応答を読み取り、ローカルストレージに保存して、クロームタブ。
Suppose I open a new chrome tab for a user to sign in. The tab is opened by createTab from the chrome extension. And once the user signs in, and server sends a response, how would I make my chrome extension get the response data?
サーバーがchrome.newTabによって新しく作成されたページに応答ログインpass\failを送信すると想定しています。私の仮定が正しければ、機能要件に対するこの構造が役立つ可能性があります。
挿入されたコンテンツスクリプトは、受信した応答を探し、Chrome拡張機能に通知します。Chrome拡張機能は、必要に応じてデータを使用できます。
マニフェスト.json
{
"name": "Content to Extension",
"description": "A sample AJAX call and etc",
"version": "0.1",
"permissions": [
"experimental", "tabs","<all_urls>"
],
"browser_action": {
"default_icon": "icon.jpg",
"default_popup": "popup.html"
},
"manifest_version": 2,
"content_scripts":[
{
"matches": ["<all_urls>"],
"js":["content.js"]
}
]
}
popup.html
<html>
<head>
<script src='popup.js'></script>
</head>
<body>
</body>
</html>
content.js
function filtersearch(){
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data) {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
console.log("message Sent");
chrome.extension.sendMessage("Response recived");
}
} else {
//callback(null);
}
}
var url = 'http://www.w3schools.com/html/default.asp';
xhr.open('GET', url, true);
xhr.send();
}
window.onload = filtersearch;
popup.js
chrome.extension.onMessage.addListener(function (message,sender,callback){
console.log("Message Recieved");
//Store in Local Storage
localStorage.messageRecieved = message;
// Close or remove tabs or Do every thing here
});
さらに情報が必要な場合はお知らせください。