返回gmail撰写窗口的Jquery表达式是什么?

时间:2012-02-06 10:03:04

标签: jquery gmail

我一直在试图访问gmail屏幕的一部分,你实际上在那里写了一条消息(我想制作一个小的chrome扩展名来转换错误输入的字符)。

但我发现自己迷失在一个小小的曲折的iframe迷宫中。我根本无法生成一个jquery表达式,它将通过大约20层嵌套div来争取组合窗口。即使我从javascript检查器中选择了表单的id,jquery似乎也找不到它。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

不太需要jquery,但这里是打开gmail窗口的链接:

 https://mail.google.com/mail/?view=cm&fs=1&tf=1&su=Newest%20Questions%20-%20Stack%20Overflow&body=http%3A//stackoverflow.com/questions

带参数:

 - su: subject of the email
 - body: body of the email
 - view=cm: compose window

此外,其他参数将是:

 "&to=", "&cc=", "&su=" and "&body="

答案 1 :(得分:0)

这可以通过使用弹出式javascript来完成。加载页面时,将脚本插入到撰写窗口中,如此

window.onload = function () {
chrome.windows.getCurrent(function (currentWindow) {
    chrome.tabs.query({ active: true, windowId: currentWindow.id },
                  function (activeTabs) {
                      chrome.tabs.executeScript(
    activeTabs[0].id, { file: 'ExtractGmail.js', allFrames: true });
                  });

});
}

现在在extractgmail.js中你需要做的是提取下面定义的字段

 var Email = document.getElementsByName("to")[0].value;
var Subject = document.getElementsByName("subject")[0].value;
var iframe = document.getElementsByClassName('Am Al editable')[0];

var content = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;

var items = new Array();
items[0] = Email;
items[1] = Subject;
var body = content.body.innerHTML;  
//content.body.innerHTML = body;
items[2] = body;

现在从这里你可以得到你想要的所有字段。这已经在之前版本的gmail compose中完成并测试了,因为gmail已经改变了,我正在努力构建UI以做同样的事情,如果你需要它会让你知道