JavaScript通过控制台访问多个站点

标签 javascript window gmail

var gmaill = window.open("https://mail.google.com/mail/u/0/#sent", "_blank");
setTimeout(function() {
alert(gmaill.document.getElementById(":113").innerHTML == "Test");
}, 3000);

我正在使用 setInterval 查看网站,当满足条件时,我将打开 gmail 的不同选项卡并发送电子邮件。不幸的是,我无法通过 Chrome 的控制台访问不同网站上的不同选项卡(即我从 Twitter 运行它以等待推文并打开 Gmail 的新选项卡并向某人发送该推文的链接)。它要么不返回任何内容,要么存在安全错误。有什么办法可以解决这个问题吗?我可以做一个扩展并让它绕过它吗?

最佳答案

您正在尝试的称为跨站点脚本。您的调用者位于一个域中,而实际脚本位于另一域中。出于安全原因,大多数浏览器都遵循同源策略。意味着要在其他窗口中访问脚本或 DOM,两个窗口必须位于同一域中。

https://en.wikipedia.org/wiki/Same-origin_policy

https://en.wikipedia.org/wiki/Cross-site_scripting

我之前就试过了。以编程方式这是不可能做到的。不确定是否可以在浏览器级别使用某种黑客手段来实现

关于JavaScript通过控制台访问多个站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32556384/

相关文章:

JavaScript:转义符号后不匹配

c# - WPF:关闭后无法重用窗口

css - 如何为 Outlook 和 Gmail 电子邮件设置模板中的相同内边距?

Gmail 架构 - 不显示在收件箱中

php - 根据 UID 从 Gmail 获取电子邮件数据

javascript - 减慢浏览器的连接速度以进行测试

javascript - 清除文本字段值

javascript - PHP、Javascript 和 Twig 模板

c++ - 如何在任何类中使用 Objects form main? C++

jquery - 单击事件后继续调整 div 大小