Bug(バグ) #3485
PC向けUIの未ログイン時に jQuery 等のライブラリがロードされない
100%
Description
Overview (現象)¶
jquery.min.js
などのライブラリが PC 向け UI の未ログイン時には読み込まれない。これにより jQuery 等に依存するプラグインが未ログイン時の画面で動作できない状態となっている。
Causes (原因)¶
source:apps/pc_frontend/templates/_layout.php@27853bc5 の下記コードの通り、未ログイン時には use_javascript('jquery.min.js')
を通過しないためこれらのライブラリのロードが行われない。
<?php if (opConfig::get('enable_jsonapi') && opToolkit::isSecurePage()): ?>
<?php
use_helper('Javascript');
use_javascript('jquery.min.js');
use_javascript('jquery.tmpl.min.js');
use_javascript('jquery.notify.js');
use_javascript('op_notify.js');
$jsonData = array(
'apiKey' => $sf_user->getMemberApiKey(),
'apiBase' => app_url_for('api', 'homepage'),
'baseUrl' => $sf_request->getRelativeUrlRoot().'/',
);
echo javascript_tag('
var openpne = '.json_encode($jsonData).';
');
?>
<?php endif ?>
opConfig::get('enable_jsonapi') && opToolkit::isSecurePage()
という条件は API キーの出力を行うか否かを判断するための条件であるが、 9f50bdf66e3cdaaa4372669902995a1558d8cbe8 にて誤って use_javascript をこの if ブロック内に追加してしまったことが原因で当チケットの問題が発生した。
Way to fix (修正内容)¶
jQuery 等をロードする use_javascript
を opConfig::get('enable_jsonapi') && opToolkit::isSecurePage()
の if ブロックの外に移動する。
Subtasks
Related issues
Associated revisions
load javascript libraries (such as jquery.min.js) for insecure page (fixes #3485)
(refs #3485) jquery.min.js の読み込み定義を view.yml で行うよう変更
History
#1 Updated by Youichi Kimura almost 11 years ago
- Status changed from New(新規) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 66a31866e32f8b9c10ca58ccb9ee3186e4105946 で適用されました。
#2 Updated by Yuya Watanabe almost 11 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
#3 Updated by Shinichi Urabe over 10 years ago
- Duplicated by Bug(バグ) #3589: pc_frontend 全画面で呼び出される util.js が必須とする jquery.min.js が呼び出されていない条件がある added
#4 Updated by Shinichi Urabe over 10 years ago
- Status changed from Pending Testing(テスト待ち) to Rejected(差し戻し)
- % Done changed from 70 to 50
source:apps/pc_frontend/config/view.yml@406bb371 によって jquery が必須な util.js が全画面で呼び出されるように修正されています
layout が plain など _lauyout.php 以外のレイアウトにセットされた場合 jquery が呼び出されませんので、 同様の条件で呼び出されていたほうがよいかと考えます (別チケット対応でいいかもしれません)
#5 Updated by kaoru n over 7 years ago
- Target version changed from OpenPNE 3.9.0-old to OpenPNE 3.9.0
対象バージョン変更のため、修正内容の確認を行います。
#6 Updated by kaoru n over 4 years ago
- Target version changed from OpenPNE 3.9.0 to OpenPNE 3.10.x
#7 Updated by kaoru n about 4 years ago
- Target version changed from OpenPNE 3.10.x to OpenPNE 3.11.x
#8 Updated by kaoru n over 3 years ago
- Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)
#3485-4 について
https://github.com/openpne/OpenPNE3/pull/634
にてプルリクエストしました。
#9 Updated by Rimpei Ogawa over 3 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
#10 Updated by isao sano over 3 years ago
- Status changed from Pending Testing(テスト待ち) to Pending Merge(マージ待ち)
- % Done changed from 70 to 80
試験完了しました。
問題ありません。
#11 Updated by kaoru n over 3 years ago
- Status changed from Pending Merge(マージ待ち) to Fixed(完了)
- % Done changed from 80 to 100
マージしました