2016-11-17 256 views
0

收到电子邮件这样的想法是为了让Chrome扩展的Web电子邮件客户端搜索电子邮件地址,然后显示有关从数据库中的客户信息。Chrome扩展,从

我设法找到了获取当前与此选项卡HTML源: Getting the source HTML of the current page from chrome extension

然后用拆分,正则表达式或东西收到一封电子邮件,并调用一些PHP脚本这将解析信息。一切都将是巨大的,但我们使用“松鼠邮件”,它采用的I帧所以很明显我得到的是一些头和iframe的链接。

任何人都可以点我朝着正确的方向?也许有可能获得标签文本而不是HTML源代码?从来没有任何铬扩展的经验..任何帮助,使其更快会很好。我显然知道我想获得的电子邮件的某个位置。

卡斯拉夫几乎排序它我只是坚持在这种情况下获取帧,因为它没有一个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

比方说,你的iframe有,你可以使用一个选择。

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

然后,您可以使用JS来查找iframe页面中的元素并从中获取内容。例如,如果在iframe的HTML你有<span class="my-email-selector">[email protected]</span>,你可以做这样的事情:

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

现在将包含电子邮件。

通知的doc变量是document类型,因此它应该有所有的常规文件的方法(locationquerySelectot[All]等)

编辑:既然你有frame秒且不iframe s,而他们也有一个name属性,它很容易访问它们:

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

非常感谢。但是,你能帮我在这个特定的情况下选择一些关键吗?我更新了问题。 – crosseds

+0

我已经更新了答案,应该为你工作 – casraf