Мне нужно передать данные между двумя автономными учетными записями - в идеале, не касаясь объекта unsafeWindow
, и я думал, что использование пользовательских событий будет способом. Я подумал о чем-то подобном (не будем рассматривать модель MSIE для примера):
addEventListener("customEvent", function(e) {
alert(e.data);
});
var custom = document.createEvent("HTMLEvents");
custom.initEvent("customEvent", true, true);
custom.data = "Some data...";
dispatchEvent(custom);
Это хорошо работает в стандартной среде javascript и в пределах одного пользовательского текста, но когда событие запускается с помощью пользовательского скрипта и вызывается за его пределами или внутри другого пользовательского документа, свойство data
имеет значение undefined
в хром. Полагаю, я мог бы просто сохранить переданные данные в sessionStorage
, но это далеко не просто. Любые другие элегантные решения, господа и джентльмены? Совершенство нужно и может быть достигнуто, я чувствую это.