动态加载js、css等文件跨iframe实现_javascript技巧
1、动态加载js,css文件(用原生js和jquery)
iframe结构:
frame0(父)
frame2(子)
frame3(子)
frame2中触发事件,动态的向frame3中 加载js、css文件和 dom元素?
*同级之间可以调用,可以 通过 子-父-子 的方式调用同级
parent.parentFram(“这个方法在调用其他子farme”);
1.jquery的append()
速度快,同步(需要引入jquery)
var oBody = document.getElementById("frame3_id").contentWindow.$("body");
var str = "
var scriptTag = document.getElementById("frame3_id").contentWindow.document.getElementById("pop");
if(!scriptTag){
oBody.append(str);
}
var oScript= document.createElement("script");
oScript.id = "oScript1";
oScript.type = "text/javascript";
oScript.src="/test.js";
var oTag1 = document.getElementById("frame3_id").contentWindow.document.getElementById("oScript1");
if(!oTag1){
oBody.append(oScript);
}
document.getElementById("frame3_id").contentWindow.test(); // 调用frame3_id 中的test()方法
***********************************
上述例子:a.需要引入jquery;
***********************************
2.js 的appendChild()
速度慢,异步(需要判断js是否加载完毕)
列子2:
var str = "
var popDiv=document.createElement('div');
popDiv.style.xx = xxx;
popDiv.id = "pop";
popDiv.innerHTML = str;
var oBody = document.getElementById("frame3_id").contentWindow.document.getElementsByTagName("body")[0];
var oHead = document.getElementById("frame3_id").contentWindow.document.getElementsByTagName("head");
if(oHead && oHead.length){
oHead = oHead[0];
}else{
oHead = oBody;
}
var elemDivTag = document.getElementById("frame3_id").contentWindow.document.getElementById("pop");
if(!elemDivTag){
oBody.appendChild(popDiv)
}
var oScript= document.createElement("script"); (css类似)
oScript.id = "oScript1";
oScript.type = "text/javascript";
oScript.src="/test.js";
var scriptTag = document.getElementById("main").contentWindow.document.getElementById("oScript1");
if(!scriptTag){
oHead.appendChild(oScript);
}
oScript.onload = oScript.onreadystatechange = function(){
if ((!this.readyState) || this.readyState == "complete" || this.readyState == "loaded" ){
document.getElementById("main").contentWindow.test(); // test()方法 在 引入的js文件中
}else{
console.info("can not load the oScript2.js file");
}
}

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Python melaksanakan pemuatan dinamik dan fungsi pemprosesan permintaan tak segerak bagi aplikasi koleksi penyemak imbas tanpa kepala Dalam perangkak web, kadangkala perlu untuk mengumpul kandungan halaman yang menggunakan pemuatan dinamik atau permintaan tak segerak. Alat perangkak tradisional mempunyai had tertentu dalam memproses halaman sedemikian dan tidak boleh mendapatkan kandungan yang dijana oleh JavaScript pada halaman dengan tepat. Menggunakan pelayar tanpa kepala boleh menyelesaikan masalah ini. Artikel ini akan memperkenalkan cara menggunakan Python untuk melaksanakan pelayar tanpa kepala untuk mengumpul kandungan halaman menggunakan pemuatan dinamik dan permintaan tak segerak.

Mengendalikan pemuatan dinamik dan penukaran komponen dalam Vue Vue ialah rangka kerja JavaScript popular yang menyediakan pelbagai fungsi fleksibel untuk mengendalikan pemuatan dinamik dan penukaran komponen. Dalam artikel ini, kami akan membincangkan beberapa kaedah mengendalikan pemuatan dinamik dan penukaran komponen dalam Vue, dan memberikan contoh kod khusus. Memuatkan komponen secara dinamik bermakna memuatkan komponen secara dinamik pada masa jalan seperti yang diperlukan. Ini meningkatkan prestasi dan kelajuan pemuatan aplikasi anda kerana komponen yang berkaitan dimuatkan hanya apabila diperlukan. Vue menyediakan async dan awa

Meneroka Prinsip Kemas Kini Panas Golang: Misteri Pemuatan Dinamik dan Muat Semula Pengenalan: Dalam bidang pembangunan perisian, pengaturcara sering berharap dapat mengubah suai dan mengemas kini kod tanpa memulakan semula aplikasi. Keperluan sedemikian sangat penting kepada kecekapan pembangunan dan kebolehpercayaan operasi sistem. Sebagai bahasa pengaturcaraan moden, Golang menyediakan pembangun dengan banyak mekanisme mudah untuk melaksanakan kemas kini hangat. Artikel ini akan menyelidiki prinsip kemas kini panas Golang, terutamanya misteri pemuatan dan pemuatan semula dinamik, dan akan menggabungkannya dengan contoh kod khusus.

Cara menggunakan Vue dan Element-UI untuk mencipta jadual yang memuatkan data secara dinamik Dalam pembangunan web moden, jadual data ialah salah satu komponen antara muka biasa. Vue.js ialah rangka kerja bahagian hadapan yang sangat popular pada masa kini, dan Element-UI ialah satu set perpustakaan komponen yang dibangunkan berdasarkan Vue.js, yang menyediakan set komponen UI yang kaya untuk kami gunakan. Artikel ini akan memperkenalkan cara menggunakan Vue dan Element-UI untuk mencipta jadual yang boleh memuatkan data secara dinamik dan memberikan contoh kod yang sepadan. Pertama, kita perlu memasang

Selesaikan ralat Vue: Tidak dapat menggunakan VueRouter dengan betul untuk memuatkan komponen secara dinamik berdasarkan parameter penghalaan Dalam proses menggunakan VueRouter untuk lompatan penghalaan, kadangkala kita perlu memuatkan komponen secara dinamik berdasarkan parameter penghalaan. Walau bagaimanapun, dalam beberapa kes, kami mungkin menghadapi ralat biasa: tidak dapat menggunakan VueRouter dengan betul untuk memuatkan komponen secara dinamik berdasarkan parameter penghalaan. Artikel ini akan menerangkan cara menyelesaikan ralat ini dan memberikan contoh kod. Pertama, kita perlu menjelaskannya: VueRouter boleh lulus

Cara menggunakan pantulan dan memuatkan himpunan secara dinamik dalam C# Pengenalan: Dalam C#, pantulan (Refleksi) ialah mekanisme berkuasa yang membolehkan kami memperoleh dan memanipulasi metadata atur cara semasa masa jalan, termasuk maklumat jenis, maklumat ahli, dsb. Himpunan memuatkan secara dinamik ialah aplikasi biasa yang dilaksanakan melalui refleksi, dan sangat berguna dalam beberapa senario tertentu. Artikel ini akan memperkenalkan secara terperinci cara menggunakan pantulan dan memuatkan himpunan secara dinamik dalam C#, dan memberikan contoh kod khusus. Konsep asas refleksi Refleksi adalah fungsi penting dalam bahasa C#

Petua praktikal phpSpider: Bagaimana untuk menangani pemuatan dinamik kandungan web? Apabila merangkak data halaman web, kami sering menghadapi masalah bahawa kandungan yang dimuatkan secara dinamik tidak boleh diperoleh secara langsung melalui perangkak. Kandungan yang dimuatkan secara dinamik ini boleh menjadi data yang diperoleh melalui permintaan AJAX, elemen DOM yang diberikan melalui JavaScript, dsb. Untuk menyelesaikan masalah ini, artikel ini akan memperkenalkan beberapa petua praktikal untuk menangani masalah pemuatan dinamik halaman web apabila menggunakan phpSpider. 1. Gunakan alatan penyahpepijatan rangkaian untuk mencari URL yang dimuatkan secara dinamik

Java menggunakan kaedah load() kelas Sistem untuk memuatkan kelas atau sumber secara dinamik Dalam pembangunan Java, kadangkala kita perlu memuatkan kelas atau sumber secara dinamik semasa program berjalan untuk mencapai beberapa fungsi yang fleksibel. Java menyediakan kaedah load() kelas Sistem untuk mencapai keperluan ini. Artikel ini akan memperkenalkan penggunaan kaedah load() kelas Sistem dan memberikan contoh kod yang sepadan. Mula-mula, mari kita fahami definisi kaedah load(): publicstaticvo
