Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome Chrome扩展:像邮件检查器一样查看后台页面_Google Chrome_Google Chrome Extension_Background_Navigation - Fatal编程技术网

Google chrome Chrome扩展:像邮件检查器一样查看后台页面

Google chrome Chrome扩展:像邮件检查器一样查看后台页面,google-chrome,google-chrome-extension,background,navigation,Google Chrome,Google Chrome Extension,Background,Navigation,我已经找了两天如何制作一个chrome扩展,它通过后台页面导航到一个远程页面(例如“http://hotmail.com)和wich使用events dispatcher去某处、查看邮件、查看论坛帖子等 我查看了google mail checker扩展,我看到这些扩展只使用XMLHttpRequest()并计算结果。但结果是一个准备好的xml文档,它只包含“邮件”、“主题”、“日期”、“3”等信息。。因此,在任何情况下,它都不会评估html页面,发送事件并转到另一个页面 所以我想知道这是否可能

我已经找了两天如何制作一个chrome扩展,它通过后台页面导航到一个远程页面(例如“http://hotmail.com)和wich使用events dispatcher去某处、查看邮件、查看论坛帖子等

我查看了google mail checker扩展,我看到这些扩展只使用XMLHttpRequest()并计算结果。但结果是一个准备好的xml文档,它只包含“邮件”、“主题”、“日期”、“3”等信息。。因此,在任何情况下,它都不会评估html页面,发送事件并转到另一个页面

所以我想知道这是否可能,我尝试通过document.createElement()和document.body.appendChild()包含一个iframe,但我收到一条错误消息: “拒绝显示文档,因为X-Frame-Options禁止显示。” 而我将“权限”:[“://*”]放在清单文件中。

是服务器发送的HTTP头,指定是否应在iframe中显示页面。Chrome的设计遵循X-Frame-Options的限制,而扩展版无法放松这一限制

也许您可以使用跨域Ajax请求来获取信息。这只会获取页面的原始代码,因此如果页面中有iframe或使用脚本动态构建自身,则没有那么大的帮助。然而,我怀疑大多数邮件服务都有一个“简单HTML”视图,您可以将其删除(假设您正在构建邮件检查器)

请参阅相关问题。

是服务器发送的HTTP标头,用于指定是否应在iframe中显示页面。Chrome的设计遵循X-Frame-Options的限制,而扩展版无法放松这一限制

也许您可以使用跨域Ajax请求来获取信息。这只会获取页面的原始代码,因此如果页面中有iframe或使用脚本动态构建自身,则没有那么大的帮助。然而,我怀疑大多数邮件服务都有一个“简单HTML”视图,您可以将其删除(假设您正在构建邮件检查器)


请参阅相关问题。

谢谢。所以,没有办法将ajax请求接收的文本作为DOM进行评估?(我尝试了DOMParser,但发现解析器错误:)DOMParser似乎不适用于HTML(除了Firefox测试版)。您可以改为使用
var newPage=document.createElement(“html”)
创建一个新元素,然后使用
newPage.innerHTML=…
将Ajax结果放入。由于自动解析
innerHTML
,您将拥有一个完全可访问的页面DOM。请记住,您可能需要清除doctype标题并打开/关闭
标记,以便跨浏览器工作(否则,您可能会在外部块中立即获得Ajax页面的块。我的测试表明,最新的FF和Chrome将为您处理此问题,但我不能代表IE或任何其他人。谢谢。因此,没有办法将Ajax请求接收的文本作为DOM进行评估?(我尝试了DOMParser,我得到了解析器错误:)DOMParser似乎不适用于HTML(Firefox测试版除外)。您可以使用
var newPage=document.createElement(“HTML”)创建一个新元素
,然后使用
newPage.innerHTML=…
将Ajax结果放入。由于
innerHTML
的自动解析,您将拥有一个完全可访问的页面DOM。请记住,您可能需要清除doctype标题并打开/关闭
标记,以便跨浏览器工作(否则,您可能会在外部块中立即获得Ajax页面的块。我的测试表明,最新的FF和Chrome将为您处理此问题,但我不能代表IE或其他任何人发言。