如何从 iframe 中获取元素

发布于 2024-11-04 07:19:10 字数 357 浏览 1 评论 0原文

我想使用 JavaScript 从 iframe 获取元素。我尝试过以下操作:

var iframe = document.getElementById("iframe id");

var iframeWindow = iframe.contentWindow || iframe.contentDocument.parentWindow;

 iframe.onload = function(){


        alert(iframeWindow.getElementById('notice'));

    };

谁能帮我让它工作吗?

跨域

感谢回复

I want to get an element from an iframe using JavaScript. I've tried the following:

var iframe = document.getElementById("iframe id");

var iframeWindow = iframe.contentWindow || iframe.contentDocument.parentWindow;

 iframe.onload = function(){


        alert(iframeWindow.getElementById('notice'));

    };

Can anyone help me get this working?

with cross domain

thanks for reply

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

软的没边 2024-11-11 07:19:10

假设它们都在同一个域上;

var ifr = document.getElementById('the_iframes_id');
//or window.frames[x].
var doc = ifr.contentDocument || ifr.contentWindow.document;
alert(doc.getElementById('notice'));

如果它不在同一域中,出于安全原因您将无法访问它。

Assuming its all on the same domain;

var ifr = document.getElementById('the_iframes_id');
//or window.frames[x].
var doc = ifr.contentDocument || ifr.contentWindow.document;
alert(doc.getElementById('notice'));

If its not on the same domain, you cannot access it for security reasons.

香草可樂 2024-11-11 07:19:10

如果您想跨域执行此操作,那么您就不走运了。 Javascript 的安全模型不允许这样做。

我不知道您想要完成什么,但您也许可以通过服务器端脚本获得您需要的东西。 Perl/PHP/Python/Ruby/任何脚本通常都可以检索您需要的任何网页。然后它可以解析出您需要的部分,并通过 AJAX 调用将其返回到您的 Javascript。

当然,这比仅仅使用 JS 更复杂,并且假设 iframe 的内容不是动态的,此时基于 cookie 或其他会话事物。

You are out of luck if you want to do this across domains. Javascript's security model will not allow it.

I don't know what you are trying to accomplish, but you might be able to get what you need with server-side scripting. A Perl/PHP/Python/Ruby/whatever script generally has the possibility of retrieving any web page you'd need. It could then parse out the bit you need and return this to your Javascript via AJAX calls.

Of course this is more complicated than just using JS, and assumes that the iframe's content is not dynamic, based on cookies or other session things at this moment.

温馨耳语 2024-11-11 07:19:10
document.getElementById('iframeResult').contentWindow.document.getElementById('buttonId')

其中 iframeResult 是 iframe 的 Id,buttonId 是元素的 Id

document.getElementById('iframeResult').contentWindow.document.getElementById('buttonId')

where iframeResult is Id of iframe and buttonId is Id of element

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文