Javascript 从chrome.runtime.sendmessage发送文档和窗口对象

Javascript 从chrome.runtime.sendmessage发送文档和窗口对象,javascript,html,json,dom,google-chrome-extension,Javascript,Html,Json,Dom,Google Chrome Extension,我正在开发一个chrome扩展来获取HTML文档的pageSource中的任何JSON对象。因此,为此,我需要从chrome.runtime.sendMessage中获取文档对象和窗口对象 如果我像下面那样发送窗口对象,我将得到一个****循环结构到json**错误 chrome.runtime.sendMessage({ 'title': document.title, 'url': window.location.href, 'summary': window }); 我

我正在开发一个chrome扩展来获取HTML文档的pageSource中的任何JSON对象。因此,为此,我需要从chrome.runtime.sendMessage中获取文档对象和窗口对象

如果我像下面那样发送窗口对象,我将得到一个****循环结构到json**错误

chrome.runtime.sendMessage({
   'title': document.title,
   'url': window.location.href,
   'summary': window
});
我通过一个回调函数来检索上面的值

function onPageDetailsReceived(pageDetails)  { 
    document.getElementById('title').value = pageDetails.title; 
    document.getElementById('url').value = pageDetails.url; 
    document.getElementById('summary').value = pageDetails.summary;
} 

window.addEventListener('load', function(evt) {

    chrome.runtime.getBackgroundPage(function(eventPage) {
      eventPage.getPageDetails(onPageDetailsReceived);
    });
});

有谁能告诉我如何从上述函数中获取document元素和window元素。

为什么需要将
window
对象传递到后台页面?我在window对象中确认了一个Json对象。需要检索该对象好吧,我的意思是,为什么您需要发送整个
窗口
对象,而不是提取数据并只发送数据?您知道sendMessage会将所有内容字符串化,对于复杂对象来说,这可能会很慢吗?不幸的是,无法发送窗口对象。