在不同域的iframe中运行Javascript

在不同域的iframe中运行Javascript,javascript,html,iframe,Javascript,Html,Iframe,我在一个网站上工作,该网站使用另一家公司的iFrame来显示文档列表。文档在许多选项卡(“全部、演示、报告”等)下分页。如果我使用此元素作为示例: 。。。有没有办法在页面加载时打开特定选项卡?因此,如果我想打开一个加载了“Presentations”而不是“All”(默认值)的页面,我可以使用Javascript/jQuery来完成吗 中的选项卡使用Javascript生成所有项目的列表,如下所示: 我不能简单地运行这个: document.getElementById('frame').c

我在一个网站上工作,该网站使用另一家公司的iFrame来显示文档列表。文档在许多选项卡(“全部、演示、报告”等)下分页。如果我使用此元素作为示例:

。。。有没有办法在页面加载时打开特定选项卡?因此,如果我想打开一个加载了“Presentations”而不是“All”(默认值)的页面,我可以使用Javascript/jQuery来完成吗

中的选项卡使用Javascript生成所有项目的列表,如下所示:

我不能简单地运行这个:

document.getElementById('frame').contentWindow.loadPresentationData()

。。。因为我将获得“访问属性'loadPresentationData'的权限被拒绝”

如果在新的浏览器选项卡中打开iframe src,请转到控制台并键入“loadPresentationData();”,不过,它工作得很好

是否有其他方法可以在页面加载时打开选项卡,而不必联系框架的开发人员(这应该已经完成)

如果我必须联系他们,我需要要求他们做什么,以便在页面加载时打开选项卡


非常感谢。

在iframe中操作选项卡的唯一方法是通过url进行IMHO。 这取决于他们(第三方)如何实现选项卡。例如,您可以使用哈希访问选项卡 e、 g


请注意,为了进一步调查,我们需要了解更多细节(例如真实域)

有两种方法可以让iframe中的文档进行操作,而这两种方法都不能单方面完成

正如@hother所提到的,最简单的方法(对于标签之类的结构化内容)是使用带有散列的URL;其他域上的应用程序只需要支持它们

另一种更灵活的方法是使用(你会发现一个非常相关的例子)。为了实现这一点,另一个域上的应用程序的开发人员必须在他们这边编写一个消息处理程序

www.differentdomain.com/#tab-3