使用外部域上的Javascript访问iframe

时间:2009-07-08 18:37:32

标签: javascript dom iframe getselection

我正在寻找一种方法来访问IFRAME上页面的只读属性。 具体来说,我想阅读选择。显然我无法阅读它,因为该文档位于另一个域。

有没有办法阅读它们?

2 个答案:

答案 0 :(得分:1)

我过去曾使用document.domain来解决这个问题。但是,您只能使用此功能,iframe和外部网页共享同一个域,即www.example.com和ifrm.example.com。我也听说过一种名为JSONP的东西,即使没有共享域,也显然可以解决这个问题。 Mmany Google API使用此功能。

答案 1 :(得分:1)

您的浏览器不允许您访问其他域上的任何内容。你运气不好

就JSONP而言,这是解决跨域问题的一种方法。它的工作方式简而言之就是你传递一个javascript函数名和一些请求,它返回一个包含在你的函数中的json对象,如:

myfunction({some:"crazy", "object":2});

当你提出这个请求时,你将它的响应粘贴到一个脚本标签中,而脚本标签又在加载时执行,调用你的“myFunction”,它必须存在于你身边。

仅当服务器支持JSONP时才有效。如果它返回普通的JSON,那么你可以在javascript中使用它。