Czy chrome.runtime obsługuje wysyłanie wiadomości z przenoszonymi obiektami?
Uczę się o obiektach przenośnych:http://updates.html5rocks.com/2011/12/Transferable-Objects-Lightning-Fast
Wydają się całkiem niesamowite i chciałbym użyć ich w moim rozszerzeniu, aby przyspieszyć przekazywanie danych z wnętrza iframe na zewnątrz iframe.
Mam działający przykładowy kod, ale używa on Web Workera:
var s = document.createElement("script");
s.type = "text/js-worker";
s.innerHTML = 'console.log("i ran!");';
document.body.appendChild(s);
var blob = new Blob(Array.prototype.map.call(document.querySelectorAll("script[type=\"text\/js-worker\"]"), function (oScript) {
return oScript.textContent;
}), { type: "text/javascript" });
var worker = new Worker(window.URL.createObjectURL(blob));
var arrayBuffer = new ArrayBuffer(1);
worker.onmessage = function (oEvent) {
console.log("Called back by the worker!\n");
};
console.log("worker:", worker);
worker.postMessage(arrayBuffer, [arrayBuffer]);
if (arrayBuffer.byteLength) {
console.error("nope");
} else {
console.log("it worked");
}
Czy ktoś ma jakieś informacje na temat wsparcia lub harmonogram wsparcia dla / a crbug do korzystania z portu, takiego jak:
var port = chrome.runtime.connect({
name: 'youTubeIFrameConnectRequest'
});
//port.postMessage -- transferrable object.
Nie widzę żadnego wsparcia dla niego ani niczego, co mogłoby go wspierać, ale to wydaje się naprawdę dziwne!