【问题标题】:Chrome extension get email from pageChrome 扩展从页面获取电子邮件
【发布时间】:2016-11-17 09:03:54
【问题描述】:

所以想法是制作 chrome 扩展程序,在网络电子邮件客户端中搜索电子邮件地址,然后从数据库中显示有关客户的信息。

我设法找到的是通过以下方式获取当前选项卡的 html 源代码: Getting the source HTML of the current page from chrome extension

然后使用拆分、正则表达式或其他方法来获取电子邮件,然后调用一些可以解析信息的 php 脚本。一切都会很棒,但我们使用的是“松鼠邮件”,它使用 iframe,所以显然我得到的只是一些标题和 iframe 链接。

谁能指出我正确的方向?也许可以获得标签文本而不是 html 源代码?从来没有任何 chrome 扩展的经验.. 任何让它更快的帮助都会很棒。我显然知道我想要获取的电子邮件的特定位置。

Casraf 几乎对其进行了排序我只是在这种特定情况下无法获取框架,因为它没有 id 选择器。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head>
<meta name="robots" content="noindex,nofollow">
<title>SquirrelMail</title>
</head><frameset cols="150, *" id="fs1">
<frame src="left_main.php" name="left" frameborder="1">
<frame src="right_main.php" name="right" frameborder="1">
</frameset>
</html>

【问题讨论】:

    标签: javascript google-chrome


    【解决方案1】:

    假设您的 iframe 有一个可以使用的选择器。

    var iframe = document.querySelector('#iframe'),
        doc = iframe.contentDocument || iframe.contentWindow.document;
    

    然后您可以使用 JS 在 iframe 的页面中查找元素并从中获取内容。例如,如果在 iframe 的 HTML 中你有一个 &lt;span class="my-email-selector"&gt;email@address.com&lt;/span&gt;,你可以这样做:

    var email = doc.querySelector('.my-email-selector').innerText;
    

    现在将包含电子邮件。

    注意doc 变量是document 类型,因此它应该具有所有常规文档方法(locationquerySelectot[All] 等)

    编辑:因为你有frames 而不是iframes,而且它们确实有name 属性,所以访问它们真的很容易:

    var frame_left = window.frames['left'],
        frame_right = window.frames['right'];
    

    【讨论】:

    • 非常感谢。但是你能帮我在这种情况下选择框架吗?我更新了问题。
    猜你喜欢
    • 2012-08-18
    • 1970-01-01
    • 2012-07-25
    • 2016-07-15
    • 2011-01-05
    • 2012-05-10
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    相关资源
    最近更新 更多