在Gmail中触发“点击”跨度“添加抄送:”

时间:2012-04-06 18:17:36

标签: jquery gmail userscripts

为了显示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开发工具中设置断点

2 个答案:

答案 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(),我会,但我无法测试它。