中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解WordPress的JavaScript本地化

發布時間:2021-11-17 16:55:30 來源:億速云 閱讀:147 作者:柒染 欄目:web開發

本篇文章為大家展示了如何理解WordPress的JavaScript本地化,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

WordPress 升級到 3.1 之后, 如果主題支持 wp_head() 方法, 將在頁面加載一個名為 l10n.js 的文件, 這是為 JavaScript 本地化提供的工具庫. 目前對大多數人來說是一個無用的功能, 甚至有人認為這是 WordPress 卑鄙地偷偷地在頁面上埋了一個扯淡的腳本, 所以網上能找到的都是如何卸載腳本的方法.

在我們卸載之前, 是不是應該先了解一下這是怎樣的一個功能, 添加腳本的意圖是什么? 小編將說明 l10n.js 腳本存在的意義, 本地化腳本的使用方法和對其未來的展望.

<script type='text/javascript' src='{ROOT DIR}/wp-includes/js/l10n.js?ver=20101110'></script>

i18n 和 l10n

i18n[1] 和 l10n[2] 是 IT 領域常用的縮寫術語, 分別是國際化和本地化的意思. i18n 指應用程序能夠為不同的國家和語言環境的用戶群體提供本地化的服務, 而 l10n 則是在用戶使用環境實現本地化特性, 國際化和本地化泛指語言環境的多語言實現. 如: WordPress 是一個支持國際化的程序, 只要提供對應國家語言包并制定國家代號, 就能替換整個網站的語言環境.

JavaScript 本地化

如前面的例子, WordPress 一直支持國際化, 并提供 _e() 和 __() 兩個 PHP 方法對程序進行本地化. 但隨著前端 JavaScript 應用越來越多, 后端的國際化已經滿足不了所有需求, 有必要引入 JavaScript 的國際化和本地化.

若你使用的主題支持 wp_head() 方法, 將在頁面加載 l10n.js 文件, 而且用戶可以通過簡單的代碼向頁面注入本地化資源. l10n.js 是一個 JavaScript 本地化的工具庫, 包含 convertEntities() 方法, 可以將 HTML 對象還原成原來的值, 所以它會在所有注入的 JavaScript 腳本和本地化資源之前載入.

使用的方法

我們可以為每一個要載入的 JavaScript 文件定義本地化資源. 實現代碼如下[3]:

// 必須先載入一個 Javascript 文件  wp_enqueue_script('some_handle', '/some_javascript.js');  // 組裝本地化數據, 使用 __() 制作本地化內容  $data = array( 'some_string' => __( 'Some string to translate' ) );  // 加載本地化腳本. 這里必須指定一個需要載入的 JavaScript 文件.  wp_localize_script( 'some_handle', 'object_name', $data );

執行后將在頁面上生成代碼如下:

/* <![CDATA[ */ var object_name = {  some_string: "Some string to translate" };  /* ]]> */ <script type='text/javascript' src='{ROOT DIR}/some_javascript.js?ver=3.1'></script>

本地化資源會在指定腳本之前載入和定義. 其中 {ROOT DIR} 是網站的根目錄.

此時如果我們可以通過以下代碼進行測試:

alert(object_name.some_string); // 彈出對話框, 顯示 'Some string to translate'

利弊和應用場合

好處前面說了很多, 可以方便地進行前端本地化 (需要后端 PHP 配合). 缺點也很明顯, 會在每次頁面加載時計算本地化資源, 并且載入大量 JavaScript 代碼, 增加系統負擔和延長頁面加載時間.

JavaScript 本地化是 WordPress 主題和插件制作中讓人較為煩惱的地方, 一些插件開發者會在頁面上自行定義 l10n 對象, 可以參考 WP-RecentComments 插件的做法. WordPress 這次強行引入, 很可能會被主題和插件開發者廣泛應用. 也就是說, 不久的將來你未必敢卸載掉它, 否則某些插件將運行不了.

卸載和恢復的方法

雖說 l10n.js 文件很小, 好歹會發出一個請求, 如果你真的認為沒用, 可以在 functions.php 中添加以下代碼將它卸載掉.

wp_deregister_script('l10n');

如函數名, 這個方法不是禁用, 而是注銷. 也就是說, 一旦你注銷就沒有了, 就算刪除這段代碼也不會還原. 如果在注銷后希望回復需要使用以下方法:

wp_register_script('l10n');

上述內容就是如何理解WordPress的JavaScript本地化,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

徐水县| 湄潭县| 若羌县| 万安县| 芦溪县| 永新县| 怀柔区| 黑水县| 山东| 茂名市| 长兴县| 萍乡市| 库伦旗| 长海县| 万盛区| 霍林郭勒市| 栖霞市| 和顺县| 山西省| 个旧市| 四子王旗| 镇赉县| 江北区| 从化市| 武宣县| 思南县| 凤阳县| 海兴县| 萨迦县| 大冶市| 峨边| 和田市| 邵阳市| 政和县| 大埔区| 钟山县| 交口县| 淮阳县| 秀山| 喀喇沁旗| 桃园县|