這是我在群里看到別人討論的東西,先記着 看看對以后有沒有幫助
我給Iframe 加了runat="server" 后台怎么獲取加載完的 hmtl代碼或元素值
我覺得可以先從父頁面用js操控iframe里面的html,在父頁面拿到值后自己處理,只是你的iframe頁里面是js生成的,時機判斷好做好
注冊一個事件,去監控他的加載狀態
你在外部去注冊這個事件
這就和通過iframe異步上傳文件一樣 (那得有權限改iframe里面的頁面)
你在外部去注冊這個事件
這就和通過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();
});
看看這種方式能不能捕獲到
你只要有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();
});
看看這種方式能不能捕獲到
