1. 程式人生 > >js中動態載入js並且判斷載入完成執行回撥函式

js中動態載入js並且判斷載入完成執行回撥函式

這一段js雖然很少,但是足以知道什麼是動態載入js了,像requirejs,seajs其實原理也就是這樣,下面發出自己寫的函式

<span style="font-size:18px;color:#cc0000;"><strong>	<script type="text/javascript" >
		function loadjs(src,func)
		{	
			//判斷這個js檔案存在直接執行回撥
			var scripts = document.getElementsByTagName('script') ;
			for(i in scripts)
				if(scripts[i].src == src)
					return func() ;
			if(typeof func != 'function')
			{
				console.log('param 2 is not a function!!') ;
				return false ;
			}
			var script = document.createElement('script') ;
			script.type ='text/javascript' ;
			script.src = src ;
			var head = document.getElementsByTagName('head').item(0);
			head.appendChild(script);

			script.onload = function(){
				func();
			}
		}
	</script></strong></span>


相關推薦

js動態載入js並且判斷載入完成執行函式

這一段js雖然很少,但是足以知道什麼是動態載入js了,像requirejs,seajs其實原理也就是這樣,下面發出自己寫的函式 <span style="font-size:18px;colo

JS如何防止AJAX命令重複載入執行一次,自動向後臺傳送兩次以上的請求)

將程式碼部署在伺服器上後,在提交資料並將資料插入資料庫時,總是在提交後不多時,資料便變成了亂碼。後來發現原來是AJAX在搗鬼。 1、將如下程式碼放在將要傳送AJAX請求的方法前 <!--防止ajax重複載入--> <script> function pre

js哪些值在if判斷是false

哪些是false1:02:false3:null4:undefined5:''或者"" // 空字符串6:NaN以上幾種值在做if判斷時,返回的都是false。那麽其他的值在做if判斷時,返回的都是true。js中哪些值在if判斷是false

js動態獲取頁面的高度和寬度的方法總結

javascript,jquery獲取網頁的高度和寬度: javascript: 可視區域寬:document.documentElement.clientWidth(width+padding) 可視區域高:document.documentElement.clientHeight(h

使用canvas畫線,在Js動態設定高和寬

1.定義div   <div style="height:240px;" >                            &

js動態獲取object型別的鍵值

例子: var obj ={"name1":"張三","name2":"李四"}; var key = "name1"; var value = obj.key; //得到的是 "undefin

js動態函式的一些用法嘗試

   在js中,經常會使用到函式,普通函式雖然很方便,但是,形式略顯複雜,特別是程式碼量大的時候,這時,我們可以使用動態函式,動態函式形式比較簡潔,並且比普通函式表示式更靈活,其結構如下: var fun_name=new Function(x1,x2,x3,...,fun

linux動態庫的編譯和載入的查詢順序

Glibc安裝的庫中有一個名為ld-Linux.so.X其中X為一個數字(版本), 在不同的平臺上可以通過ldd檢視 $ldd /bin/cat linux-vdso.so.1 =>  (0x00007fff9176f000) libc.so.6 => /lib

JS通用的contains方法判斷兩個節點的關係

“我生本無鄉,心安是歸處” function contains(refNode, otherNode){ if (typeof refNode.contains == "function" && (!client.engine.

Js動態追加程式碼後,之前定義的Js不再起作用

 問題描述:在js檔案中使用javaScript或者jQuery中的html('程式碼')或者append('程式碼'),將我們的html程式碼動態新增到指定的容器裡面(例如:table)後,頁面可以正常顯示,但是所追加部分的頁面的js會失效。 解決方法:採用JQuery中的 de

js動態變更select為input,以及input的type型別從hidden變為text

在高版本的jquery引入prop方法後,什麼時候該用prop?什麼時候用attr?它們兩個之間有什麼區別?這些問題就出現了。關於它們兩個的區別,網上的答案很多。這裡談談我的心得,我的心得很簡單:對於HTML元素本身就帶有的固有屬性,在處理時,使用prop方法。對於HTML元素我們自己自定義的DOM屬性,在處

js動態新增表單/table小結

以下是大體思路~ 幫得上忙的請借鑑~ <html>  <head>  <title> </title>   <style>  </style>  <script type="text/javas

js動態生成表格

  <script type="text/javascript"> function demo() { // 獲取輸入框內輸入的行和列的數值 var rowValue = parseInt

jQuery遍歷js的array物件,判斷array是否包含某值

JS中的array遍歷起來不太爽,其實jQuery提供了比較好的遍歷方法: $.each(typesList, function(index, value) { $("#all").append( '<div class="workflow_t

關於js動態生成的點選事件觸發兩次的討論

由於是動態生成的  點選事件運用了jQuery裡面的on()方法,繫結在body上面,結果在程式裡面運行了兩次。參考了部落格 利用on和off方法編寫高效的js程式碼知道了很多在dom物件刪除以後

JS/JavaScript前臺非同步載入並呼叫函式

程式碼簡單直接貼程式碼 /** * 非同步載入依賴的javascript檔案 * src:script的路徑 * callback:當外部的javascript檔案被load的時候,執行的回撥 */ var loadAsyncScript = function (

【微信小程式】在js匯入第三方js或自己寫的js,使用外部js的function的兩種方法 import和require的區別使用方法

如下 定義了一個外部js檔案,其中有一個function import lunaCommon from '../lunaCommon.js'; var ctx = wx.getStorageSync("ctx"); var filter = "/ms-code"; var apis

JS函式(一)

一.前奏 多用在使用 js 寫元件時,尤其是元件的事件很多都需要回調函式的支援 假設   A是回撥函式,B是呼叫者,B引數裡一個是指向A的函式指標,即回撥A,同時另外的引數傳遞給A作為引數 二.JS中函式可作為引數傳遞,甚至在另一個函式內部返回 一旦作為引數

前端全棧工程化開發專題 — JS函式的深入解讀

1、回撥函式核心原理分析 js中的定時器及動畫 完整版動畫庫封裝 回撥函式初步講解 擴充套件更多的運動方式(非勻速) options物件引數的應用 ... 什麼是回撥函式? 把一個函式當做實參值傳遞給函式的形參變數(或者傳遞給函式,通過函式arguments獲取),在另外一個函

20181209——JS函式

字面上的理解,回撥函式就是一個引數,將這個函式作為引數傳到另一個函式裡面,當那個函式執行完之後,再執行傳進去的這個函式。這個過程就叫做回撥。 其實也很好理解對吧,回撥,回撥,就是回頭呼叫的意思。主函式的事先幹完,回頭再呼叫傳進來的那個函式。但是以前看過很多部落格,他們總是將回調函式解釋