iframe父子頁面通訊解決方案
有兩點要注意
onload載入完成再進行操作
子頁面延時獲取
場景是這樣的,父級頁面巢狀了多個iframe,report_six.html子級頁面按需載入數量,且每個子頁面渲染不同的資料。
父頁面for迴圈載入子頁面數量,動態生成id,根據對應的id,傳值給對應的子級頁面元素,一定要寫在onload裡面
下面是父頁面
<body>
<iframe src="report_one.html" frameborder="0" width="630" height="891"></iframe>
<iframe src="report_two.html" frameborder="0" width="630" height="891"></iframe>
<iframe src="report_three.html" frameborder="0" width="630" height="891"></iframe>
<iframe src="report_four.html" frameborder="0" width="630" height="891"></iframe>
<iframe src="report_five.html" frameborder="0" width="630" height="891"></iframe>
<iframe id="a_0" src="report_six.html" frameborder="0" width="630" height="891"></iframe>
<iframe id="a_1" src="report_six.html" frameborder="0" width="630" height="891"></iframe>
<iframe id="a_2" src="report_six.html" frameborder="0" width="630" height="891"></iframe>
<iframe id="a_3" src="report_six.html" frameborder="0" width="630" height="891"></iframe>
<iframe id="a_4" src="report_six.html" frameborder="0" width="630" height="891"></iframe>
<iframe id="report_ten" src="report_ten.html" frameborder="0" width="630" height="891"></iframe>
<iframe id="report_eleven" src="report_eleven.html" frameborder="0" width="630" height="891"></iframe>
<iframe id="report_nine" src="report_nine.html" frameborder="0" width="630" height="891"></iframe>
</body>
<script src="./js/jquery-2.1.4.js"></script>
<script>
if(obj.type == 3){
$(`<iframe src="report_one.html" frameborder="0" width="630" height="891"></iframe>`).appendTo(`body`);
$(`<iframe src="report_two.html" frameborder="0" width="630" height="891"></iframe>`).appendTo(`body`);
$(`<iframe src="report_three.html" frameborder="0" width="630" height="891"></iframe>`).appendTo(`body`);
$(`<iframe src="report_four.html" frameborder="0" width="630" height="891"></iframe>`).appendTo(`body`);
$(`<iframe src="report_five.html" frameborder="0" width="630" height="891"></iframe>`).appendTo(`body`);
var rank_a = obj.k.length;
for(var i = 0;i < rank_a;i++){
$(`<iframe id="a_` + i + `" src="report_six.html" frameborder="0" width="630" height="891"></iframe>`).appendTo(`body`);
}
$(`<iframe id="report_ten" src="report_ten.html" frameborder="0" width="630" height="891"></iframe>`).appendTo(`body`);
$(`<iframe id="report_eleven" src="report_eleven.html" frameborder="0" width="630" height="891"></iframe>`).appendTo(`body`);
var cancer = obj.c.length;
if(cancer > 0){
$(`<iframe id="report_nine" src="report_nine.html" frameborder="0" width="630" height="891"></iframe>`).appendTo(`body`);
}
window.onload = function(){
var rank_a = obj.m07.dis_risk.length;
for(var i = 0;i < rank_a;i++){
$(`#a_` + i).contents().find(`#rank`).val(i);
}
$(`#report_ten`).contents().find(`#change`).html(`四`);
$(`#report_eleven`).contents().find(`#change`).html(`五`);
$(`#report_nine`).contents().find(`#change`).html(`六`);
}
}
</script>
子級頁面帶有預設值的元素input#rank
接收資料,為了確定接收到引數,設定一個定時器,不等於預設值的情況下就表示接收成功,接收成功之後清除定時器執行業務程式碼
下面是子頁面
<body>
<section>
<div id="mainChart" class="chart"></div>
</section>
<input type="hidden" id="rank" value="a"/>
<script src="./js/echarts-all-3.js"></script>
<script>
var timer = setInterval(function(){
var rank_value = document.getElementById("rank").value;
if(rank_value != `a`){
clearInterval(timer);
//執行程式碼
}
},2000);
</script>
</body>
相關文章
- 頁面間通訊與資料共享解決方案簡析
- JQuery iframe頁面jQuery
- iframe父子級相互呼叫
- 禁止web頁面縮放解決方案Web
- Lora通訊解決方案對比
- vue 父子元件通訊Vue元件
- Startalk(星語)——通用通訊解決方案
- Iframe內部頁面高度賦值於其父頁面的Iframe標籤賦值
- Vue 父子元件的通訊Vue元件
- js和vue方法的相互呼叫(iframe父子頁面的方法相互呼叫)。JSVue
- 禁用iframe子頁面滑鼠右鍵
- Webpack4系列教程(六) 多頁面解決方案Web
- Webpack4系列教程(七) 單頁面解決方案Web
- vuejs如何設定父子通訊VueJS
- react父子、子父、兄弟通訊React
- vue--select父子元件通訊Vue元件
- 融雲通訊解決方案 破解企業溝通痛點
- Iframe嵌入跨域頁面高度自適應實現詳解跨域
- sharedWorker 實現多頁面通訊
- 不同頁面通訊與跨域跨域
- Vue頁面級快取解決方案feb-alive (下)Vue快取
- vue父子元件通訊高階用法Vue元件
- Vue2.0父子元件間通訊Vue元件
- 我學react之父子元件通訊React元件
- Vue父子元件通訊小總結Vue元件
- Vue中父子元件通訊——元件todolistVue元件
- 乾元通應急救援無線通訊組網解決方案
- 乾元通多鏈路無線車輛通訊解決方案
- 解決方案| anyRTC金融音視訊解決方案
- 遮蔽iframe子頁面F12按鍵
- JS 網頁列印解決方案JS網頁
- 移動端swiper嵌iframe無法滑動的解決方案
- vue之父子元件間通訊例項講解(props、$ref、$emit)Vue元件MIT
- 會vue,學習react元件父子通訊VueReact元件
- prop父子元件通訊,動靜態prop元件
- 首頁父子組元件 ajax陣列請求各個頁面元件陣列
- 怎樣使用iframe重新整理父級頁面?
- JavaScript系列:動態建立iframe並載入頁面JavaScript