为了显示cc:地址的输入字段,我试图从Chrome扩展程序中自动点击gmail中的“添加抄送”范围。
跨度如下:
<span id=":25j" class="el" role="link" tabindex="2">Add Cc</span>
据我所知,它没有定义事件监听器/ onclick。
我试过
$('iframe').each(function() {
$('span:contains("Add Cc")',this.contentDocument).first().click();
}
和
$('iframe').each(function() {
$('span:contains("Add Cc")').first().trigger( jQuery.Event("click"));
}
更新:实际上跨度在iframe内。
有人可以给我一个如何触发这些跨度点击的指针吗?
当我手动点击链接时,是否有某些方法可以观察/记录哪些事件被触发?
更新:感谢@veeTrain指出如何在Chrome开发工具中设置断点
答案 0 :(得分:1)
我不确定如何通过代码点击Cc;你的尝试对我来说很好。
您可以使用Chrome的开发者工具来观看和了解有关发生事件的大量信息。您可以暂停,中断,单步执行以及更多地观察变量并查看调用堆栈。
但是,您可能希望首先覆盖脚本中的click事件,然后再打破它。
(未测试的)
$('span:contains("Add Cc")').click(function() {
// Set a break point here and then when a click on Cc is
// generated, you should be able to investigate
});
您确定手动包含jQuery吗? gmail默认情况下似乎没有加载它。 尝试在检查器中键入jQuery以查找。 此外,如果span:contains似乎不适合你,你可以尝试通过其他方式找到你的元素,例如id。
答案 1 :(得分:1)
如果您查看DOM,您将看到输入已经存在。你应该能够让它显示出来:
jQuery('textarea[name=cc]').parent().parent().show()
然而,由于页面的设置方式,似乎我无法从我的控制台测试这个。他们使用iframe等。也许你可以从插件中获取它?
您可能也会尝试找到更好的方法来获取父元素,而不是使用parent().parent()
,我会,但我无法测试它。