Browser tab query “Receiving end does not exist” which works on chrome
Background script
browser.runtime.onMessage.addListener(function (event) {
if( event.type === 'authenticate' ) {
browser.tabs.query({active: true}, function(tab) {
browser.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
}, function() {});
});
}
});
Content script
browser.runtime.sendMessage({
type: "authenticate"
});
browser.extension.onMessage.addListener(function(request, sender, sendResponse) {
if( request.method == 'main' ) {
login();
} else if( request.method == 'logout' ) {
logout();
}
sendResponse({});
});
The event goes through and the tab id is correct, but the debug info from firefox shows "Error: Could not establish connection. Receiving end does not exist."
On chrome the event callback goes through. Anyone know what the issue is? Looking through google I found something about the id not being correct but I'm not sure what the issue is here.
javascript google-chrome-extension firefox-addon
add a comment |
Background script
browser.runtime.onMessage.addListener(function (event) {
if( event.type === 'authenticate' ) {
browser.tabs.query({active: true}, function(tab) {
browser.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
}, function() {});
});
}
});
Content script
browser.runtime.sendMessage({
type: "authenticate"
});
browser.extension.onMessage.addListener(function(request, sender, sendResponse) {
if( request.method == 'main' ) {
login();
} else if( request.method == 'logout' ) {
logout();
}
sendResponse({});
});
The event goes through and the tab id is correct, but the debug info from firefox shows "Error: Could not establish connection. Receiving end does not exist."
On chrome the event callback goes through. Anyone know what the issue is? Looking through google I found something about the id not being correct but I'm not sure what the issue is here.
javascript google-chrome-extension firefox-addon
You're sending a new message to the active tab, but an instance of the content script runs in each matching tab, not just the active one. Simply respond to the sender directly as shown in the messaging documentation (see examples with sendResponse).
– wOxxOm
Nov 22 at 18:23
Thanks for the comment
– Robert
Nov 22 at 18:35
browser.extension.onMessage
shouldn't even exist;chrome.extension.onMessage
is deprecated in Chrome and I doubt Mozilla copied it to thebrowser
namespace. Usebrowser.runtime.onMessage
instead.
– Xan
Nov 23 at 11:05
Yup, that fixed it.
– Robert
Nov 23 at 19:52
add a comment |
Background script
browser.runtime.onMessage.addListener(function (event) {
if( event.type === 'authenticate' ) {
browser.tabs.query({active: true}, function(tab) {
browser.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
}, function() {});
});
}
});
Content script
browser.runtime.sendMessage({
type: "authenticate"
});
browser.extension.onMessage.addListener(function(request, sender, sendResponse) {
if( request.method == 'main' ) {
login();
} else if( request.method == 'logout' ) {
logout();
}
sendResponse({});
});
The event goes through and the tab id is correct, but the debug info from firefox shows "Error: Could not establish connection. Receiving end does not exist."
On chrome the event callback goes through. Anyone know what the issue is? Looking through google I found something about the id not being correct but I'm not sure what the issue is here.
javascript google-chrome-extension firefox-addon
Background script
browser.runtime.onMessage.addListener(function (event) {
if( event.type === 'authenticate' ) {
browser.tabs.query({active: true}, function(tab) {
browser.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
}, function() {});
});
}
});
Content script
browser.runtime.sendMessage({
type: "authenticate"
});
browser.extension.onMessage.addListener(function(request, sender, sendResponse) {
if( request.method == 'main' ) {
login();
} else if( request.method == 'logout' ) {
logout();
}
sendResponse({});
});
The event goes through and the tab id is correct, but the debug info from firefox shows "Error: Could not establish connection. Receiving end does not exist."
On chrome the event callback goes through. Anyone know what the issue is? Looking through google I found something about the id not being correct but I'm not sure what the issue is here.
javascript google-chrome-extension firefox-addon
javascript google-chrome-extension firefox-addon
asked Nov 22 at 18:07
Robert
99111
99111
You're sending a new message to the active tab, but an instance of the content script runs in each matching tab, not just the active one. Simply respond to the sender directly as shown in the messaging documentation (see examples with sendResponse).
– wOxxOm
Nov 22 at 18:23
Thanks for the comment
– Robert
Nov 22 at 18:35
browser.extension.onMessage
shouldn't even exist;chrome.extension.onMessage
is deprecated in Chrome and I doubt Mozilla copied it to thebrowser
namespace. Usebrowser.runtime.onMessage
instead.
– Xan
Nov 23 at 11:05
Yup, that fixed it.
– Robert
Nov 23 at 19:52
add a comment |
You're sending a new message to the active tab, but an instance of the content script runs in each matching tab, not just the active one. Simply respond to the sender directly as shown in the messaging documentation (see examples with sendResponse).
– wOxxOm
Nov 22 at 18:23
Thanks for the comment
– Robert
Nov 22 at 18:35
browser.extension.onMessage
shouldn't even exist;chrome.extension.onMessage
is deprecated in Chrome and I doubt Mozilla copied it to thebrowser
namespace. Usebrowser.runtime.onMessage
instead.
– Xan
Nov 23 at 11:05
Yup, that fixed it.
– Robert
Nov 23 at 19:52
You're sending a new message to the active tab, but an instance of the content script runs in each matching tab, not just the active one. Simply respond to the sender directly as shown in the messaging documentation (see examples with sendResponse).
– wOxxOm
Nov 22 at 18:23
You're sending a new message to the active tab, but an instance of the content script runs in each matching tab, not just the active one. Simply respond to the sender directly as shown in the messaging documentation (see examples with sendResponse).
– wOxxOm
Nov 22 at 18:23
Thanks for the comment
– Robert
Nov 22 at 18:35
Thanks for the comment
– Robert
Nov 22 at 18:35
browser.extension.onMessage
shouldn't even exist; chrome.extension.onMessage
is deprecated in Chrome and I doubt Mozilla copied it to the browser
namespace. Use browser.runtime.onMessage
instead.– Xan
Nov 23 at 11:05
browser.extension.onMessage
shouldn't even exist; chrome.extension.onMessage
is deprecated in Chrome and I doubt Mozilla copied it to the browser
namespace. Use browser.runtime.onMessage
instead.– Xan
Nov 23 at 11:05
Yup, that fixed it.
– Robert
Nov 23 at 19:52
Yup, that fixed it.
– Robert
Nov 23 at 19:52
add a comment |
1 Answer
1
active
oldest
votes
Using browser.runtime.onMessage
and changing
browser.tabs.query({active: true}, function(tab) {
browser.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
}, function() {});
});
to
browser.tabs.query({active: true, currentWindow: true}, function(tab) {
chrome.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
});
});
fixed it for me.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436260%2fbrowser-tab-query-receiving-end-does-not-exist-which-works-on-chrome%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Using browser.runtime.onMessage
and changing
browser.tabs.query({active: true}, function(tab) {
browser.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
}, function() {});
});
to
browser.tabs.query({active: true, currentWindow: true}, function(tab) {
chrome.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
});
});
fixed it for me.
add a comment |
Using browser.runtime.onMessage
and changing
browser.tabs.query({active: true}, function(tab) {
browser.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
}, function() {});
});
to
browser.tabs.query({active: true, currentWindow: true}, function(tab) {
chrome.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
});
});
fixed it for me.
add a comment |
Using browser.runtime.onMessage
and changing
browser.tabs.query({active: true}, function(tab) {
browser.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
}, function() {});
});
to
browser.tabs.query({active: true, currentWindow: true}, function(tab) {
chrome.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
});
});
fixed it for me.
Using browser.runtime.onMessage
and changing
browser.tabs.query({active: true}, function(tab) {
browser.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
}, function() {});
});
to
browser.tabs.query({active: true, currentWindow: true}, function(tab) {
chrome.tabs.sendMessage(tab[0].id, {
method: 'main',
auth0: "test"
});
});
fixed it for me.
answered Nov 23 at 19:54
Robert
99111
99111
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436260%2fbrowser-tab-query-receiving-end-does-not-exist-which-works-on-chrome%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You're sending a new message to the active tab, but an instance of the content script runs in each matching tab, not just the active one. Simply respond to the sender directly as shown in the messaging documentation (see examples with sendResponse).
– wOxxOm
Nov 22 at 18:23
Thanks for the comment
– Robert
Nov 22 at 18:35
browser.extension.onMessage
shouldn't even exist;chrome.extension.onMessage
is deprecated in Chrome and I doubt Mozilla copied it to thebrowser
namespace. Usebrowser.runtime.onMessage
instead.– Xan
Nov 23 at 11:05
Yup, that fixed it.
– Robert
Nov 23 at 19:52