搜尋
首頁web前端js教程動態載入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(oScriptBody.append(oScriptBody.append(oScriptBody.append) );
}

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];
varument.getElementsByTagName("body")[0];
varument. oHead = document.getElementById("frame3_id").contentWindow.document.getElementsByTagName("head");

if(oHead && oHead.length){
oHead = oHead[0]; oHead.length){
oHead = oHead7>; }else{
oHead = oBody;
}

var elemDivTag = document.getElementById("frame3_id").contentWindow.document.getElementById("pop");
if(piv ){
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");
}
}
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Vue中如何处理组件的动态加载和切换Vue中如何处理组件的动态加载和切换Oct 15, 2023 pm 04:34 PM

Vue中处理组件的动态加载和切换Vue是一个流行的JavaScript框架,它提供了各种灵活的功能来处理组件的动态加载和切换。在本文中,我们将讨论一些Vue中处理组件动态加载和切换的方法,并提供具体的代码示例。动态加载组件是指根据需要在运行时动态加载组件。这样可以提高应用程序的性能和加载速度,因为只有当需要时才会加载相关的组件。Vue提供了async和awa

Python实现无头浏览器采集应用的页面动态加载与异步请求处理功能解析Python实现无头浏览器采集应用的页面动态加载与异步请求处理功能解析Aug 08, 2023 am 10:16 AM

Python实现无头浏览器采集应用的页面动态加载与异步请求处理功能解析在网络爬虫中,有时候需要采集使用了动态加载或者异步请求的页面内容。传统的爬虫工具对于这类页面的处理存在一定的局限性,无法准确获取到页面上通过JavaScript生成的内容。而使用无头浏览器则可以解决这个问题。本文将介绍如何使用Python实现无头浏览器来采集使用动态加载与异步请求的页面内容

揭秘Golang热更新原理:动态加载与重载的内幕讲解揭秘Golang热更新原理:动态加载与重载的内幕讲解Jan 20, 2024 am 10:09 AM

Golang热更新原理探究:动态加载与重载的奥秘引言:在软件开发领域,程序员们经常希望能够在不重启应用的情况下进行代码修改和更新。这样的需求对于开发效率和系统运行的可靠性都具有重要意义。而Golang作为一门现代化的编程语言,为开发者提供了许多便捷的机制来实现热更新。本文将深入探讨Golang热更新的原理,特别是动态加载和重载的奥秘,并将结合具体的代码示例进

如何使用Vue和Element-UI创建动态加载数据的表格如何使用Vue和Element-UI创建动态加载数据的表格Jul 21, 2023 pm 11:49 PM

如何使用Vue和Element-UI创建动态加载数据的表格在现代的Web开发中,数据表格是常见的界面组件之一。Vue.js是当下非常流行的前端框架,而Element-UI是基于Vue.js开发的一套组件库,提供了丰富的UI组件供我们使用。本文将介绍如何使用Vue和Element-UI来创建一个可以动态加载数据的表格,并且给出相应的代码示例。首先,我们需要安装

解决Vue报错:无法正确使用Vue Router根据路由参数动态加载组件解决Vue报错:无法正确使用Vue Router根据路由参数动态加载组件Aug 20, 2023 am 08:09 AM

解决Vue报错:无法正确使用VueRouter根据路由参数动态加载组件在使用VueRouter进行路由跳转的过程中,有时我们需要根据路由参数动态加载组件。但是,有些情况下,我们可能会遇到一个常见的错误:无法正确使用VueRouter根据路由参数动态加载组件。本文将介绍如何解决这个报错,并提供代码示例。首先,我们需要明确一点:VueRouter可以通过

phpSpider实用技巧:如何处理网页内容的动态加载问题?phpSpider实用技巧:如何处理网页内容的动态加载问题?Jul 22, 2023 am 08:33 AM

phpSpider实用技巧:如何处理网页内容的动态加载问题?在爬取网页数据时,经常会遇到动态加载的内容无法直接通过爬虫获取的问题。这些动态加载的内容可以是通过AJAX请求获取的数据、通过JavaScript进行渲染的DOM元素等。为了解决这个问题,本文将介绍一些在使用phpSpider时处理网页动态加载问题的实用技巧。一、使用网络调试工具查找动态加载的URL

C#中如何使用反射和动态加载程序集C#中如何使用反射和动态加载程序集Oct 08, 2023 pm 12:12 PM

C#中如何使用反射和动态加载程序集引言:在C#中,反射(Reflection)是一种强大的机制,它允许我们在运行时获取和操作程序的元数据,包括类型信息、成员信息等。而动态加载程序集则是通过反射来实现的一种常见应用,并且在一些特定场景中非常有用。本文将详细介绍C#中如何使用反射和动态加载程序集,并提供具体的代码示例。反射的基本概念反射是C#语言中的一项重要功能

Java中如何使用ClassLoader函数进行类动态加载Java中如何使用ClassLoader函数进行类动态加载Jun 26, 2023 pm 02:10 PM

Java中的ClassLoader函数可以实现在运行时动态加载类,这在一些需要灵活地部署和修改代码的应用程序中非常有用。通过ClassLoader的功能,可以实现插件机制,提高系统的可扩展性和灵活性。本文将介绍如何使用ClassLoader函数进行类动态加载。一、ClassLoader的作用在启动Java虚拟机(JVM)时,会创建三个ClassLoader:

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器