Chrome扩展程序从第

时间:2016-11-17 09:03:54

标签: javascript google-chrome

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

我设法找到的是获取当前标签html源代码: Getting the source HTML of the current page from chrome extension

然后使用split,regex或其他东西来获取电子邮件,只需调用一些解析信息的php脚本。一切都会很棒,但我们使用的是“Squirrel Mail”,它使用iframe,所以我得到的只是一些标题和iframe链接。

有人能指出我正确的方向吗?也许有可能获得标签文本而不是html源代码?从来没有任何使用镀铬扩展的经验..任何使其更快的帮助都会很棒。我显然知道我想要的电子邮件的某个位置。

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>

1 个答案:

答案 0 :(得分:1)

我们说你的iframe有一个你可以使用的选择器。

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

然后,您可以使用JS在iframe的页面中查找元素并从中获取内容。例如,如果在iframe的HTML中有<span class="my-email-selector">email@address.com</span>,则可以执行以下操作:

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

现在将包含电子邮件。

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

修改:由于您拥有frame而非iframe,并且他们拥有name属性,因此很容易访问它们:

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