forge.message.broadcast を使用するたびに、すぐに大量のエラーが表示されます。
Port error: Could not establish connection. Receiving end does not exist.
開いているタブの数 + 開いている開発者コンソールの数に直接関係しているようです。ただし、スタック トレースはまったくなく、追跡することは不可能のようです。
forge.message.broadcast を使用するたびに、すぐに大量のエラーが表示されます。
Port error: Could not establish connection. Receiving end does not exist.
開いているタブの数 + 開いている開発者コンソールの数に直接関係しているようです。ただし、スタック トレースはまったくなく、追跡することは不可能のようです。
の定義を見ると、これは正常ですforge.message.broadcast
。
forge.message.broadcast = function (r, s, t, q) {
chrome.windows.getAll({
populate: true
}, function (u) {
u.forEach(function (v) {
v.tabs.forEach(function (x) {
if (x.url.indexOf("chrome-extension:") != 0) {
var w = chrome.tabs.connect(x.id);
if (t) {
w.onMessage.addListener(function (y) {
t(y)
})
}
w.postMessage({
type: r,
content: s
})
}
})
})
});
var p = chrome.extension.connect();
if (t) {
p.onMessage.addListener(function (u) {
t(u)
})
}
p.postMessage({
type: r,
content: s
})
}
forge.message.broadcast
開いている各タブにメッセージを送信しようとします。URLのみを除外するchrome-extension
ため、開いているウィンドウにもメッセージを送信しようとしdeveloper-tools
ます。ただし、タブにリスナーがない場合は、「ポート エラー: 接続を確立できませんでした。受信側が存在しません。」が表示されることがあります。Chrome のそのような各タブのエラー - forge.message.broadcast メッセージに応答することを期待しない場合、これは予期されたものであり、問題ありません。
反応が期待できる場合は、まず適切なタブで使用する必要がありforge.message.listen
ます。