我一直在试图访问gmail屏幕的一部分,你实际上在那里写了一条消息(我想制作一个小的chrome扩展名来转换错误输入的字符)。
但我发现自己迷失在一个小小的曲折的iframe迷宫中。我根本无法生成一个jquery表达式,它将通过大约20层嵌套div来争取组合窗口。即使我从javascript检查器中选择了表单的id,jquery似乎也找不到它。
有人可以帮忙吗?
答案 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以做同样的事情,如果你需要它会让你知道