由于某种原因,注入的脚本将无法获取内容脚本发送的内容。
document.dispatchEvent(new CustomEvent('ToFBScript',{detail: {data: "Hello World"}}));
//Injecting Script
var s = document.createElement('script');
s.src = chrome.extension.getURL('fbscriptforextension.js');
(document.head||document.documentElement).appendChild(s);
s.onload = function(){
s.parentNode.removeChild(s);
};
我的内容脚本
var storage;
document.addEventListener('ToFBScript',function(e){
storage = e.detail.data;
console.log(storage);
});
我的注入脚本
答案 0 :(得分:1)
您尝试设置CustomEvent
的data
属性,但只能设置detail
。幸运的是,您可以将其设置为JSON可序列化的任何内容。
document.dispatchEvent(new CustomEvent('ToFBScript', {detail: {data: g}}));
/* ... */
document.addEventListener('ToFBScript', function(e) {
storage = e.detail.data;
}