2020/10/01 17:39 JST

Geeklog Japan Forums

Geeklog1.8.0テーマ標準のjQuery読み込みを無効にしたい。

ページナビゲーション


状態: オフライン

augebang

Forum User
Active Member
登録日: 22
投稿数: 134
場所:京都府
お世話になります。 質問名 Geeklog1.8.0で使用するテーマ標準のjQuery読み込みを無効にしたい。 バージョン Geeklog1.8.0 質問内容 Geeklog1.8.0よりjQueryとjQueryUIの機能が使えるようになりましたが、 基本的にコンフィグレーションのページのみ読み込まれています。 他でjQuery関係を使用しなければ問題無いのですが、そうでない場合は読み込みが 重複してしまいます。 それを回避するために標準で装備されているjQueryの読み込みを無効にしたいと考えました。 そこで質問なのですが無効にするにはどのような方法を実行すればいいでしょうか? よろしくお願いします。
たかが0.1%されど0.1% あきらめないで!

状態: オフライン

Tsuchi

Site Admin
管理者
登録日: 03
投稿数: 782
場所:大阪府豊中市
基本的にコンフィグレーションのページのみ読み込まれています。 というのは、どういう意味なのかは理解できてないのですが、 それはさておき 他でjQuery関係を使用するうえで 標準で装備されているjQueryの読込がおこなわれていても 問題ないと思います 標準で装備されているjQueryの読込がおこなわれて 困る問題とはなんでしょうか? 他でjQuery関係を使用するのは使用するとして 他でjQueryの読込をおこなわない。というのはできないのでしょうか? ちなみに DataBox UserBoxプラグインでは、 標準で装備されているjQueryの読み込みをおこなったうえで Jquery プラグインをインストールしたうえで DatePicker を使用するようにしています。 ちなみに Geeklog1.8.0用のJquery プラグインではjQueryの読込はおこなわなく なりました

状態: オフライン

Tsuchi

Site Admin
管理者
登録日: 03
投稿数: 782
場所:大阪府豊中市
「テーマ標準のjQuery」というのも、ちょっとピンとこないです。

状態: オフライン

mystral-kk

Site Admin
管理者
登録日: 23
投稿数: 1022
場所:福岡県
Quote by: augebang

お世話になります。 質問名 Geeklog1.8.0で使用するテーマ標準のjQuery読み込みを無効にしたい。 バージョン Geeklog1.8.0 質問内容 Geeklog1.8.0よりjQueryとjQueryUIの機能が使えるようになりましたが、 基本的にコンフィグレーションのページのみ読み込まれています。 他でjQuery関係を使用しなければ問題無いのですが、そうでない場合は読み込みが 重複してしまいます。 それを回避するために標準で装備されているjQueryの読み込みを無効にしたいと考えました。 そこで質問なのですが無効にするにはどのような方法を実行すればいいでしょうか? よろしくお願いします。

現状では、管理者のコンフィギュレーションでしかjQuery(とUI)は読み込まれません。自作のプラグイン内で使用するには、

PHP Formatted Code

        global $_SCRIPTS;

        $_SCRIPTS->setJavaScriptLibrary('jquery');
 

を実行して、自力でロードすることになります。したがって、「jQuery読み込みを無効にすることはできないが、コンフィギュレーションでしか使用しないため、実質的に困る場面はない。」ということになると思います。


-- mystral-kk, "Every cloud has a silver lining."

状態: オフライン

augebang

Forum User
Active Member
登録日: 22
投稿数: 134
場所:京都府
Tsuchiさん mystral-kkさん お世話になります。 お手数をおかけして申し訳ないです。 2つの質問を同時にしていました。 ・質問1 <題名> 独自のjQueryを使用した場合コンフィグレーションページのjQueryが有効にならない。 <自己解決> コンフィグレーションページでjQuery・jQueryUIと同時に読み込まれるGeeklog/Javascript/admin.configuration.jsの中で
PHP Formatted Code
$j = jQuery.noConflict();
が指定されているので独自jQueryを使用する場合は$を使わないか(jQueryとかにするか)$jに置換する必要がある。 ・質問2 <題名> テーマのjQuery演出効果のためにコンフィグレーションページ以外で標準のjQueryとjQueryUIを使いたい。 <内容> 現状ではコア標準のjQueryとjQueryUIはコンフィグレーションページでのみ読み込まれます。 そのため各種jQuery演出効果をテーマで独自に使用する場合、headerもしくはfotterへそれらを読み込まなければなりません。 ここで問題と考える事はheaderもしくはfotterで読み込むものと{plg_footercode}で読み込むものがコンフィグレーションページで重複してしまう事です。 非常にゆるく考えればjQueryを2度読みしても動作はしますがシンプルに一度・1箇所の読み込みで動作させたいです。 Tsuchiさん 質問は上記内容です、2度手間申し訳ないです。 アイビー・ウィー(http://www.ivywe.co.jp/)からプラグインを新たに ダウンロードしてインストール後の確認で jQuery.noConflict();に気が付きました。 (jQueryプラグインって最新版ですか?) 先にFireBagで確認すれば質問が絞れたのにごめんなさい(;;)
「テーマ標準のjQuery」というのも、ちょっとピンとこないです。
逆にこれを読んで私はピンと来ました、何時もの私の口調であれば 「汎用性のため jQuery.noConflict();は理解できるけど、せっかくGeeklogのコアにjQueryとjQueryUIを置いているのに、なんでコンフィグレーションのページでしか使えんのさあ!他でも使えるようにして欲しい。」 これが全てです。 mystral-kkさん 参考ソースありがとうございます。 これを拝見してテーマのfunctions.phpを思い出し Geeklog/Theme/functions.php 10行目前後の書式を参考に試してみました。 おかげさまでとお伝えしたかったのですが根本的エラーになってしまいました。 もし可能であり差し支え無ければfunctions.phpで書く場合のソースを教えて欲しいです。
たかが0.1%されど0.1% あきらめないで!

状態: オフライン

mystral-kk

Site Admin
管理者
登録日: 23
投稿数: 1022
場所:福岡県
Quote by: augebang

・質問2 <題名> テーマのjQuery演出効果のためにコンフィグレーションページ以外で標準のjQueryとjQueryUIを使いたい。 <内容> 現状ではコア標準のjQueryとjQueryUIはコンフィグレーションページでのみ読み込まれます。 そのため各種jQuery演出効果をテーマで独自に使用する場合、headerもしくはfotterへそれらを読み込まなければなりません。 ここで問題と考える事はheaderもしくはfotterで読み込むものと{plg_footercode}で読み込むものがコンフィグレーションページで重複してしまう事です。 非常にゆるく考えればjQueryを2度読みしても動作はしますがシンプルに一度・1箇所の読み込みで動作させたいです。 Tsuchiさん 質問は上記内容です、2度手間申し訳ないです。 アイビー・ウィー(http://www.ivywe.co.jp/)からプラグインを新たに ダウンロードしてインストール後の確認で jQuery.noConflict();に気が付きました。 (jQueryプラグインって最新版ですか?) 先にFireBagで確認すれば質問が絞れたのにごめんなさい(;;)

「テーマ標準のjQuery」というのも、ちょっとピンとこないです。
逆にこれを読んで私はピンと来ました、何時もの私の口調であれば 「汎用性のため jQuery.noConflict();は理解できるけど、せっかくGeeklogのコアにjQueryとjQueryUIを置いているのに、なんでコンフィグレーションのページでしか使えんのさあ!他でも使えるようにして欲しい。」 これが全てです。 mystral-kkさん 参考ソースありがとうございます。 これを拝見してテーマのfunctions.phpを思い出し Geeklog/Theme/functions.php 10行目前後の書式を参考に試してみました。 おかげさまでとお伝えしたかったのですが根本的エラーになってしまいました。 もし可能であり差し支え無ければfunctions.phpで書く場合のソースを教えて欲しいです。

ローカル環境での話ですが、professionalテーマのfunctions.phpの中で

PHP Formatted Code

$_SCRIPTS->setJavaScriptLibrary('jquery');
 
と書くと、jQueryはロードされました。ただし、</body>タグの直前なので、

PHP Formatted Code

$(function(){ ... });
 

のような形でJavaScriptを実行する必要があると思います。


-- mystral-kk, "Every cloud has a silver lining."

状態: オフライン

Tsuchi

Site Admin
管理者
登録日: 03
投稿数: 782
場所:大阪府豊中市
まだ、会話が理解しきれてないけれども、とりあえず分かるところから jQueryプラグイン 1.3が最新です、Geeklog1.8未満では使えません (Geeklog1.8未満でjQueryプラグイン を使う場合は1.1) 「テーマ標準のjQuery」 同梱されているテーマでは。。。というか Geeklog1.8 で大きな変化は scripts.class.php が追加されたことなのです。 javascript の記述は、テンプレートではおこなわず、phpプログラムのほうで おこなう。 「なんでコンフィグレーションのページでしか使えんのさあ!他でも使えるようにして欲しい。」というのは、個々のjQueryの使えないページの問題 ○○のページで使えるようにしてほしい。と書いてもらえるほうが答えやすいかもしれません。

状態: オフライン

Tsuchi

Site Admin
管理者
登録日: 03
投稿数: 782
場所:大阪府豊中市
ちなみに jQueryプラグイン 1.3から DatePicker を使用する設定がなくなったので (同梱はされているのに、なにゆえにかは不明) DataBox UserBox プラグインのほうで、(使用できるようになっていない場合は) (jQueryプラグイン 1.3に同梱されているものを)使用できるようにしています

状態: オフライン

im-ltd

Forum User
Regular Member
登録日: 04
投稿数: 76
場所:千葉県船橋市
1.8のscript.class.phpに悩まされてるim-ltdです。 参考までに…
PHP Formatted Code

$_SCRIPTS->setJavaScriptLibrary('jquery');
 
これは何回呼び出しても、jQueryは1回しかロードされないように書かれてます。なので、テーマからはfunctions.phpで遠慮無く呼び出して使えます。 本題から外れますが、1.8でのjQueryの組み込みは以下の点で問題ありと思ってます。 ・</body>の直前にしか読み込んでくれないのでjQueryが起動するのが遅い ・jQueryとjQueryUI以外はこのクラスからCDN経由でロードできない ・コンフィグレーションでnoConflict()が呼ばれているのがジャマ jQueryの起動が遅いというのは、私のサイトにスマートフォンでアクセスしてもらうと露骨にわかります。jQueryMobileの処理が行われてきちんとした表示になる前に一旦CSSなしの生のHTMLがレンダリングされてしまいます。

状態: オフライン

Ivy

Site Admin
管理者
登録日: 01
投稿数: 5942
場所:Tokyo
jQueryはここで議論するより(もしかするとBenさんが見ているかもしれないけど)、 Geeklog.frの掲示板でも書き込んだほうが良いですよ。

ページナビゲーション

時刻はすべて JST , 現在の時刻は 05:39 PM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック