js操作跨域iframe

这是我在群里看到别人讨论的东西,先记着   看看对以后有没有帮助

我给Iframe 加了runat="server" 后台怎么获取加载完的 hmtl代码或元素值

 我觉得可以先从父页面用js操控iframe里面的html,在父页面拿到值后自己处理,只是你的iframe页里面是js生成的,时机判断好做好 
 
 注册一个事件,去监控他的加载状态
你在外部去注册这个事件
这就和通过iframe异步上传文件一样 (那得有权限改iframe里面的页面)
 
 不该他
你只要有iframe的控制权就够了
而iframe是你自己的元素
想怎么玩就怎么玩
等他ok了.取innerHTMl送给服务器就完事了

iframe权限怎么获取啊

我iframe里面有个js是页面加载完等10秒才执行,然后改动页面一个元素的值,你怎么知道我的js执行了没

我认为js行不通 试了很多次
跨域 获取不到

跨域也能用js取值


问题是他要取什么值嘛
取一个页面里面用js生成的值拿很难,光取请求生成的还是有可能的。。。

iframe如果调用的是另一个域名里面的东西,这个跨域实现js有点复杂 
不是简单的一个 调用页面 和 被调用页面的问题 

恩,百度了下,js操作跨域iframe貌似很难,可是我上面那句说的是ajax的跨域取值。。。

ajax跨域,好像也不能吧 

现在关键在于他跨域的页面里面是js生成的,如果不是js,直接后台模拟get把html取回来分析也是行的,但是是js生成的,那时机就不好掌握了,除非那个页面有个东东标记js是否执行,然后后台一直模拟提交取html,发现html有某个值才结束取值


ajax跨域是可以滴,情况比较严格而已

用webbrowser控件吧
可以判断js是不是执行完了

恩,能判断js执行完就万事大吉了


不过人家仅仅是iframe
可以去看看phantom api
var page = require('webpage').create();
var url = 'http://www.phantomjs.org/';
page.open(url, function (status) {
  //Page is loaded!
  phantom.exit();
});
看看这种方式能不能捕获到 
 
posted @ 2014-01-02 15:44  维訫  阅读(3234)  评论(0编辑  收藏  举报