這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

Inline JavaScript in Head

外掛說明

CAUTION: This plugin is now deprecated! The successor plugin is Embed JavaScript File Content. The new plugin is rebuild from scratch and more rock solid: It respects order and position of scripts and extra scripts added via wp_add_inline_script or wp_localize_script don’t get lost. Give it a try!

In some cases you cannot wait for a JavaScript file to load, even if it is placed early in the <head> section of your template. You can benefit from better performance, if you place the JavaScript code directly inside a <script> tag into the header. This is where this plugin comes in: It provides a filter inline_javascript_in_head_handles, which takes JavaScript handles, dequeues those scripts and echos their code content inline into the head section instead of linking them via a script tag.

Please beware that placing lots of JavaScript code inline in the <head> section can be critical! First you lose caching benefits and second the document size can increase easily. A general rule of thumb is that you should only consider JavaScript files for inline placement, which are critical and which have a file size lower than ~500 Bytes.

Example

add_action( 'wp_enqueue_scripts', 'my_scripts' );
function my_scripts() {
    // Some critical script is enqueued
    wp_enqueue_script( 'js-detection', get_template_directory_uri() . '/js/js-detection.js' );
}

/**
 * Define JavaScript handles to be echoed inline in the html head section.
 */
add_filter( 'inline_javascript_in_head_handles', 'my_inline_javascript_in_head_handles', -20 );
function my_inline_javascript_in_head_handles( $handles ) {
    $scripts = [ 'js-detection' ];

    return array_merge( $handles, $scripts );
}

安裝方式

  1. Upload inline-javascript-in-head.zip to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Use the inline_javascript_in_head_handles filter in your theme or plugin.
  4. You’re done!

使用者評論

2020 年 1 月 23 日 1 則留言
Slowed down the website and deactivating the plugin appears not to reverse the moving of the javascript to the head. Complete restore of website to resolve.
閱讀全部 1 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈Inline JavaScript in Head〉的開發相關工作。

參與者

將〈Inline JavaScript in Head〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.2.0

  • CAUTION: Last update! This plugin is now deprecated (see description section)
  • Bugfix: Some scripts could have gotten lost under certain conditions.

1.1.2

  • readme.txt code appearance screwed up, now hopefully fixed.

1.1.1

  • readme.txt update

1.1

  • Added filter inline_javascript_in_head_wrap_try_catch, which can add add a try catch wrapper around the JavaScript code.

1.0

  • First release