真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

加載javascript,加載中

js加載速度慢怎么解決?

解決辦法:換一個js包含的方式,讓javascript加載速度倍增。

公司主營業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出寶興免費做網(wǎng)站回饋大家。

把通常加載方式:

script src="xxxx.js"/script

改變成:

script type="text/javascript"document.write("scr"+"ipt src=\"xxx.js\"/sc"+"ript")

/script

JavaScript一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML(標準通用標記語言下的一個應(yīng)用)網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動態(tài)功能。

在1995年時,由Netscape公司的Brendan Eich,在網(wǎng)景導(dǎo)航者瀏覽器上首次設(shè)計實現(xiàn)而成。因為Netscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript。但實際上它的語法風(fēng)格與Self及Scheme較為接近。

為了取得技術(shù)優(yōu)勢,微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上運行。為了統(tǒng)一規(guī)格,因為JavaScript兼容于ECMA標準,因此也稱為ECMAScript。

javascript異步加載幾種方式總結(jié)

方法一:也叫Script DOM Element

方法二:onload時的異步加載

方法三:其他方法

由于JavaScript的動態(tài)性,還有很多異步加載方法:?XHR?Injection、?XHR?Eval、?Script In Iframe、?Script defer屬性、?document.write(script tag)。

可以參考一下網(wǎng)頁鏈接

如何在WordPress上正確加載Javascript和CSS

現(xiàn)在許多WordPress網(wǎng)站都開始講要正確加載 jQuery、Javascript 和 CSS 到你的WordPress網(wǎng)站。今天來一篇更詳細講解如何使用WordPress官方推薦的方式來加載腳本/ CSS的文章。

有兩種常用的 add_action 鉤子可以加載 腳本和CSS到WordPress:

init: 確保始終為您的網(wǎng)站頭部加載腳本和CSS(如果使用home.php,index.php或一個模板文件),以及其他“前端”文章、頁面和模板樣式。

wp_enqueue_scripts:“適當”的鉤子方法,并不總是有效的,根據(jù)你的WordPress設(shè)置。

下面的所有例子都在WordPress多站點模式、WordPress 3.4.2 通過測試(如果不支持后續(xù)版本,請留言告知)

加載外部 jQuery 庫和主題自定義的腳本、樣式

下面這個例子在 add_action 鉤子中使用 init。使用 init 有兩個原因,一是因為我們正在注銷WordPress默認的jQuery庫,然后加載谷歌的jQuery庫;二是確保在WordPress的頭部就加載腳本和CSS。

使用if ( !is_admin() )是為了確保這些腳本和css只在前端加載,不會再后臺管理界面加載。

/** Google jQuery Library, Custom jQuery and CSS Files */

function myScripts() {

wp_register_script( 'google', '' );

wp_register_script( 'default', get_template_directory_uri() . '/jquery.js' );

wp_register_style( 'default', get_template_directory_uri() . '/style.css' );

if ( !is_admin() ) { /** Load Scripts and Style on Website Only */

wp_deregister_script( 'jquery' );

wp_enqueue_script( 'google' );

wp_enqueue_script( 'default' );

wp_enqueue_style( 'default' );

}

}

add_action( 'init', 'myScripts' );

加載WP默認 jQuery 庫和主題自定義的腳本、樣式

第3行:使用 array(‘jquery’) 是為了告訴 WordPress 這個 jquery.js 是依賴WordPress 的jQuery庫文件,從而使 jquery.js 在WordPress jQuery庫文件后加載。

/** Add Custom jQuery and CSS files to a Theme */

function myScripts() {

wp_register_script( 'default', get_template_directory_uri() . '/jquery.js', array('jquery'), '' );

wp_register_style( 'default', get_template_directory_uri() . '/style.css' );

if ( !is_admin() ) { /** Load Scripts and Style on Website Only */

wp_enqueue_script( 'default' );

wp_enqueue_style( 'default' );

}

}

add_action( 'init', 'myScripts' );

加載 print.css 到你的WordPress主題

第 3 行:最后的 ‘print’是媒體屏幕調(diào)用,確保 print.css 在網(wǎng)站的打印機中的文件加載時才加載。

/** Adding a Print Stylesheet to a Theme */

function myPrintCss() {

wp_register_style( 'print', get_template_directory_uri() . '/print.css', '', '', 'print' );

if ( !is_admin() ) { /** Load Scripts and Style on Website Only */

wp_enqueue_style( 'print' );

}

}

add_action( 'init', 'myPrintCss' );

使用 wp_enqueue_scripts 替換 init

如果你要在文章或頁面加載唯一的腳本,那就應(yīng)該使用 wp_enqueue_scripts 替換 init。使用 wp_enqueue_scripts 僅僅只會在前臺加載腳本和CSS,不會在后臺管理界面加載,所以沒必要使用 !is_admin() 判斷。

使用 is_single() 只在文章加載腳本或CSS

第 3 行的 # 替換為文章的ID就可以讓腳本和css只加載到那篇文章。當然,如果直接使用 is_single() (不填I(lǐng)D),就會在所有文章加載腳本和CSS。

/** Adding Scripts To A Unique Post */

function myScripts() {

if ( is_single(#) ) { /** Load Scripts and Style on Posts Only */

/** Add jQuery and/or CSS Enqueue */

}

}

add_action( 'wp_enqueue_scripts', 'myScripts' );

使用 is_page() 只在頁面加載腳本或CSS

第 3 行的 # 替換為頁面的ID就可以讓腳本和css只加載到那個頁面。當然,如果直接使用 is_single() (不填I(lǐng)D),就會在所有頁面加載腳本和CSS。

/** Adding Scripts To A Unique Page */

function myScripts() {

if ( is_page(#) ) { /** Load Scripts and Style on Pages Only */

/** Add jQuery and/or CSS Enqueue */

}

}

add_action( 'wp_enqueue_scripts', 'myScripts' );

使用 admin_enqueue_scripts 加載腳本到后臺

這個例子將在整個后臺管理界面加載腳本和CSS。這個方法不推薦用在插件上,除非插件重建了整個后臺管理區(qū)。

第 10 行使用 admin_enqueue_scripts 替換了 init 或 wp_enqueue_scripts

第 5、6 行,如果你要自定義后臺管理區(qū),你可以需要禁用默認的WordPress CSS調(diào)用。

/** Adding Scripts To The WordPress Admin Area Only */

function myAdminScripts() {

wp_register_script( 'default', get_template_directory_uri() . '/jquery.js', array('jquery'), '' );

wp_enqueue_script( 'default' );

//wp_deregister_style( 'ie' ); /** removes ie stylesheet */

//wp_deregister_style( 'colors' ); /** disables default css */

wp_register_style( 'default', get_template_directory_uri() . '/style.css', array(), '', 'all' );

wp_enqueue_style( 'default' );

}

add_action( 'admin_enqueue_scripts', 'myAdminScripts' );

加載腳本和CSS到WordPress登錄界面

第 6 行:我無法弄清楚如何在在登錄頁面注冊/排序 CSS文件,所以這行手動添加樣式表。

第 10-14行:用來移除WordPress默認的樣式表。

/** Adding Scripts To The WordPress Login Page */

function myLoginScripts() {

wp_register_script( 'default', get_template_directory_uri() . '/jquery.js', array('jquery'), '' );

wp_enqueue_script( 'default' );

?

link rel='stylesheet' id='default-css' href='?php echo get_template_directory_uri() . '/style.css';?' type='text/css' media='all' /

?php }

add_action( 'login_enqueue_scripts', 'myLoginScripts' );

/** Deregister the login css files */

function removeScripts() {

wp_deregister_style( 'wp-admin' );

wp_deregister_style( 'colors-fresh' );

}

add_action( 'login_init', 'removeScripts' );

加載腳本和CSS到WordPress插件

WordPress插件加載腳本和CSS也是常見的。主要的不同之處在于文件的 URL。主題使用的是 get_template_directory_uri ,而插件應(yīng)該用 plugins_url ,因為文件是從插件目錄進行加載的。

從插件加載腳本和CSS

這個例子將在整個網(wǎng)站前端加載腳本和CSS。

/** Global Plugin Scripts for Outside of Website */

function pluginScripts() {

wp_register_script( 'plugin', plugins_url( 'jquery.js' , __FILE__ ), array('jquery'), '' );

wp_register_style( 'plugin', plugins_url( 'style.css' , __FILE__ ) );

if ( !is_admin() ) { /** Load Scripts and Style on Website Only */

wp_enqueue_script( 'plugin' );

wp_enqueue_style( 'plugin' );

}

}

add_action( 'init', 'pluginScripts' );

從插件加載腳本和CSS到后臺管理區(qū)

如果你需要在整個后臺管理區(qū)加載腳本和CSS,就使用 admin_enqueue_scripts 替換 init。

/** Global Plugin Scripts for The WordPress Admin Area */

function pluginScripts() {

wp_register_script( 'plugin', plugins_url( 'jquery1.js' , __FILE__ ), array('jquery'), '' );

wp_enqueue_script( 'plugin' );

wp_register_style( 'plugin', plugins_url( 'style1.css' , __FILE__ ) );

wp_enqueue_style( 'plugin' );

}

add_action( 'admin_enqueue_scripts', 'pluginScripts' );

從插件加載腳本和CSS到插件設(shè)置頁面

例子只會加載所需的腳本和CSS到插件設(shè)置頁面,不會在管理區(qū)的其他頁面加載。

第 3 行:自定義 page= 后面的值為你的插件設(shè)置頁面

/** Adding Scripts On A Plugins Settings Page */

function pluginScripts() {

if ( $_GET['page'] == "plugin_page_name.php" ) {

wp_register_script( 'plugin', plugins_url( 'jquery.js' , __FILE__ ), array('jquery'), '' );

wp_enqueue_script( 'plugin' );

wp_register_style( 'plugin', plugins_url( 'style.css' , __FILE__ ) );

wp_enqueue_style( 'plugin' );

}

}

add_action( 'admin_enqueue_scripts', 'pluginScripts' );

將 jQuery 庫移動到頁腳

你不能將WordPress默認的jQuery 庫移動到頁面底部,但是你可以將自定義的jQuery 或其他外部jQuery 庫(比如Google的)移動到底部。不要將CSS移動到頁面底部。

第 3、4 行:最后的 ‘true’告訴WordPress在頁面底部加載這些腳本。

/** Moves jQuery to Footer */

function footerScript() {

wp_register_script('jquery', (""), false, '', true );

wp_register_script( 'default', get_template_directory_uri() . '/jquery.js', false, '', true );

if ( !is_admin() ) { /** Load Scripts and Style on Website Only */

wp_deregister_script( 'jquery' );

wp_enqueue_script( 'jquery' );

wp_enqueue_script( 'default' );

}

}

add_action( 'init', 'footerScript' );

根據(jù)不用的用戶角色和功能加載jQuery和CSS

如果你的網(wǎng)站有作者、編輯和其他管理員,你可能需要通過 jQuery 來為他們顯示不同的信息。你需要使用 current_user_can 確定登錄的用戶的角色和功能 。

下面三個例子中,如果用戶已經(jīng)登錄,將在整個網(wǎng)站加載這些腳本和CSS。使用 !is_admin() 包裝 enqueue_script 確保只在前臺加載,或者在 add_action 使用 admin_enqueue_scripts 就可以確保只在后臺管理區(qū)加載。

為可以“編輯文章”的管理員加載腳本和CSS

只對超級管理員和網(wǎng)站管理員生效

/** Add CSS jQuery based on Roles and Capabilities */

function myScripts() {

if ( current_user_can('edit_posts') ) {

/** Add jQuery and/or CSS Enqueue */

}

}

add_action( 'init', 'myScripts' );

為所有登錄用戶加載腳本和CSS

/** Admins / Authors / Contributors / Subscribers */

function myScripts() {

if ( current_user_can('read') ) {

/** Add jQuery and/or CSS Enqueue */

}

}

add_action( 'init', 'myScripts' );

為管理員以外的已登錄用戶加載腳本和CSS

/** Disable for Super Admins / Admins enable for Authors / Contributors / Subscribers */

function myScripts() {

if ( current_user_can('read') !current_user_can('edit_users') ) {

/** Add jQuery and/or CSS Enqueue */

}

}

add_action( 'init', 'myScripts' );

最后的提示

上面的很多例子如果使用相同的add_action,就可以被合并成一個單一的函數(shù)。

換句話說,您可以使用多個 if 語句在一個函數(shù)中分裂了你的腳本和CSS調(diào)用,如:if_admin!if_admin,is_page,is_single和current_user_can的,因為每次使用相同的add_action的init。

什么是按需加載javascript實現(xiàn)

其實按需加載不是很難,你只需要2個東西就能辦到

一個模塊加載器

一些符合模塊加載器語法的代碼

首先實現(xiàn)一個模塊加載器其實并不復(fù)雜,不到50行就能辦到,但是如果你想要一個功能完善的,可配置,具有完善的生態(tài)和社區(qū)的模塊加載器。在幾年前是requirejs和seajs,現(xiàn)在是browserify和webpack。webpack和browserify在模塊加載方面相比requirejs和seajs更高級的地方是在node環(huán)境下自動進行依賴分析。

讓我們來實現(xiàn)個簡單的兼容commonJS規(guī)范的模塊加載器吧。

(function (global) {

var factoryMap = {};

var resMap = {};

var moduleMaps = {};

window.resMap = resMap;

// define函數(shù)定義

define = function (id, factory) {

factoryMap[id] = factory;

}

// require函數(shù)定義

require = function (id) {

var mod = moduleMaps[id] = {

exports: {}

}

var factory = factoryMap[id];

if (!factory) {

throw 'Cannot find module `' + id + '`';

}

var ret = factory.apply(mod, [require, mod.exports, mod]);

if (ret) {

mod.exports = ret;

}

return mod.exports;

}

})(this);

對于這樣的模塊加載器你就得這樣來用。

// 模塊1 依賴 模塊二的內(nèi)容

define('module1', function (require, exports, module) {

// console.log(1);

var module2 = require('module2');

var module3 = require('module3');

var module5 = require('module5');

var module6 = require('module6');

console.log('module1 -- module2', module2);

console.log('module1 -- module3', module3);

console.log('module1 -- module5', module5);

console.log('module1 -- module6', module6);

module.exports = {

moduleName: 'module1'

}

})

// 模塊二 依賴 模塊三的內(nèi)容

define('module2', function (require, exports, module) {

var module6 = require('module6');

console.log('module2 -- module6', module6);

module.exports = {

moduleName: 'module2'

}

})

// 模塊三

define('module3', function (require, exports, module) {

// console.log('3');

var module4 = require('module4');

var module5 = require('module5');

var module2 = require('module2');

console.log('module3 -- module5', module5);

console.log('module3 -- module2', module2);

console.log('module3 -- module4', module4);

module.exports = {

moduleName: 'module3'

}

})

define('module4', function (require, exports, module) {

var module6 = require('module6');

console.log('module4 -- module6', module6);

module.exports = {

moduleName: 'module4'

}

});

define('module5', function (require, exports, module) {

var module2 = require('module2');

var module6 = require('module6');

console.log('module5 -- module2', module2);

console.log('module5 -- module6', module6);

module.exports = {

moduleName: 'module5'

}

})

define('module6', function (require, exports, module) {

module.exports = {

moduleName: 'module6'

}

})

require('module1');

可以把所有代碼放到瀏覽器里面實驗一下。。。

前端加載javascript腳本有幾種方式

script的src屬性引入腳本地址

script標簽直接寫腳本

Html5的Worker也可以引入腳本

其它的方式,一般都是利用第1,2方法的。

望采納!

如何正確加載Javascript和CSS

看你是 選擇同步加載還是異步加載

同步的話實在 頁面加載的時候就加載 文件 使用 link 和 script 標簽 設(shè)置其src 就行 ,

如果js代碼中有依賴關(guān)系, 則加載js代碼 要嚴格按照依賴的順序。

異步加載 可以動態(tài)創(chuàng)建一個script 標簽 設(shè)置其src 然后把該元素 添加進dom樹就行了。

如果要執(zhí)行其中的代碼。一定要等加載完成后才能執(zhí)行。 可以在src 后面添加 callback=cab ;

然后調(diào)用 window.cab(){} 執(zhí)行回調(diào)


名稱欄目:加載javascript,加載中
文章源于:http://weahome.cn/article/dsdsicd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部