FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 9753|回复: 14
打印 上一主题 下一主题

请问用js如何获取iframe中页面的源代码

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-8 09:13:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码见图


请问用js如何获取iframe中页面的源代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2012-9-8 21:36:05 | 只看该作者
参考一下吧:
var reloadPage = function (str) {
    var tabStrip1 = Ext.getCmp('TabStrip1');
    var activeTab = tabStrip1.getActiveTab();
    var win;
    if (activeTab.id == 'tabHome') {
        var iframeName = activeTab.x_iframe_name;
        win = document.getElementsByName(iframeName)[0].contentWindow;
    }
    else {
        var fs = Ext.select('iframe[name*=' + activeTab.id + ']');
        if (fs.elements.length > 0) {
            win = fs.elements[0].contentWindow;
        }
    }
    if (win) {
        if (str == 'Tab') {
            win.location = win.location;
        }
        else {
            win.reload(str);
        }
    }
};
板凳
 楼主| 发表于 2012-9-9 14:13:56 | 只看该作者
本帖最后由 幻之达 于 2012-9-10 06:16 编辑
nboy 发表于 2012-9-8 21:36
参考一下吧:
var reloadPage = function (str) {
    var tabStrip1 = Ext.getCmp('TabStrip1');

有两点不明白,请教
1、ar reloadPage = function (str) , 这参数是传URL吗,如果URL是有判断登录后才能打开的,这样写,当前页面会返回登录页面。

2、代码中的'tabHome'是哪个ID
地板
发表于 2012-9-11 01:44:53 | 只看该作者
这个怎么样:
  1. var tab3ClientID = '<%= Tab3.ClientID %>';
  2. Ext.getCmp(tab3ClientID).el.query('iframe')[0].contentWindow.document.body.innerHTML;
复制代码
5#
 楼主| 发表于 2012-9-11 06:39:12 | 只看该作者
sanshi 发表于 2012-9-11 01:44
这个怎么样:

运行正常:Ext.getCmp(tab3ClientID).el.query('iframe')[0].contentWindow,

运行:Ext.getCmp(tab3ClientID).el.query('iframe')[0].contentWindow.document.body.innerHTML
提示:拒绝访问
6#
发表于 2012-9-11 07:01:36 | 只看该作者
幻之达 发表于 2012-9-11 06:39
运行正常:Ext.getCmp(tab3ClientID).el.query('iframe')[0].contentWindow,

运行:Ext.getCmp(tab3Cli ...

两个页面所处的域不一样?不在同一个域下网页不能相互访问:http://en.wikipedia.org/wiki/Same_origin_policy
7#
 楼主| 发表于 2012-9-11 07:10:38 | 只看该作者
sanshi 发表于 2012-9-11 07:01
两个页面所处的域不一样?不在同一个域下网页不能相互访问:http://en.wikipedia.org/wiki/Same_origin_p ...

那就是说,没法取得IFRAME网页源码了
8#
 楼主| 发表于 2012-9-12 04:51:50 | 只看该作者
诸位高手,请出手相助
9#
发表于 2012-9-12 05:19:12 来自手机 | 只看该作者
幻之达 发表于 2012-9-12 04:51
诸位高手,请出手相助

不同域无法获取其中内容,这是所有浏览器的安全限制。不过也有办法,看我的博客
10#
 楼主| 发表于 2012-9-12 07:12:13 | 只看该作者
sanshi 发表于 2012-9-12 05:19
不同域无法获取其中内容,这是所有浏览器的安全限制。不过也有办法,看我的博客 ...

http://www.cnblogs.com/sanshi/
先生,请问是哪篇文章,谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-5-14 18:54 , Processed in 0.065611 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表