Rumah hujung hadapan web tutorial js 动态加载js、css等文件跨iframe实现_javascript技巧

动态加载js、css等文件跨iframe实现_javascript技巧

May 16, 2016 pm 04:58 PM
pemuatan dinamik

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");
}
}
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Python melaksanakan pemuatan halaman dinamik dan analisis fungsi pemprosesan permintaan tak segerak untuk aplikasi koleksi pelayar tanpa kepala Python melaksanakan pemuatan halaman dinamik dan analisis fungsi pemprosesan permintaan tak segerak untuk aplikasi koleksi pelayar tanpa kepala Aug 08, 2023 am 10:16 AM

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.

Cara mengendalikan pemuatan dinamik dan penukaran komponen dalam Vue Cara mengendalikan pemuatan dinamik dan penukaran komponen dalam Vue Oct 15, 2023 pm 04:34 PM

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

Mendedahkan prinsip kemas kini hangat di Golang: penjelasan orang dalam tentang pemuatan dinamik dan pemuatan semula Mendedahkan prinsip kemas kini hangat di Golang: penjelasan orang dalam tentang pemuatan dinamik dan pemuatan semula Jan 20, 2024 am 10:09 AM

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 membuat jadual yang memuatkan data secara dinamik menggunakan Vue dan Element-UI Cara membuat jadual yang memuatkan data secara dinamik menggunakan Vue dan Element-UI Jul 21, 2023 pm 11:49 PM

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 Penghala Vue dengan betul untuk memuatkan komponen secara dinamik berdasarkan parameter penghalaan Selesaikan ralat Vue: Tidak dapat menggunakan Penghala Vue dengan betul untuk memuatkan komponen secara dinamik berdasarkan parameter penghalaan Aug 20, 2023 am 08:09 AM

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# Cara menggunakan pantulan dan memuatkan himpunan secara dinamik dalam C# Oct 08, 2023 pm 12:12 PM

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? Petua praktikal phpSpider: Bagaimana untuk menangani pemuatan dinamik kandungan web? Jul 22, 2023 am 08:33 AM

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

Gunakan kaedah load() kelas Sistem di Java untuk memuatkan kelas atau sumber secara dinamik Gunakan kaedah load() kelas Sistem di Java untuk memuatkan kelas atau sumber secara dinamik Jul 25, 2023 am 10:25 AM

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

See all articles