Ticket #2342 (closed 改善提案: 修正済)

Opened 7 years ago

Last modified 7 years ago

JavaScriptのグローバルな宣言を減らす

Reported by: pineray Owned by: somebody
Priority: Milestone: EC-CUBE2.13.0
Component: フロント Version: 2.12.5
Keywords: Cc:
修正済み: yes

Description (last modified by h_yoshimoto) (diff)

現在のEC-CUBE独自のJavaScriptコードでは、すべての関数や変数をグローバルに宣言しています。
グローバルの宣言を減らすことで、名前空間の衝突を未然に防ぎ、他のコンポーネントと共存しやすくなります。

関連コミット
r23081 r23077 r23067 r23066 r23065 r23064 r23063 r23062 r23061

Change History

comment:1 Changed 7 years ago by pineray

  • Owner changed from somebody to pineray
  • Status changed from new to assigned

comment:2 Changed 7 years ago by h_yoshimoto

  • Description modified (diff)

comment:3 Changed 7 years ago by h_yoshimoto

r23071 にて一旦戻します。

comment:4 Changed 7 years ago by pineray

  • Owner changed from pineray to somebody
  • Status changed from assigned to new

comment:5 Changed 7 years ago by h_yoshimoto

  • Description modified (diff)

comment:6 Changed 7 years ago by h_yoshimoto

r23103 にて再度適用

comment:7 Changed 7 years ago by nanasess

既存の関数を使用しているプラグインや、決済モジュールのために、後方互換用の関数を作成し、 別の JavaScript? ファイルにしてはいかがでしょうか??

comment:8 Changed 7 years ago by m_uehara

ヘッダーログインブロックのログアウトボタンが動作しておりません。
ボタンをクリックしてもsubmitが行われていないようです。
ご確認のほどよろしくお願いいたします。

comment:9 follow-ups: ↓ 19 ↓ 20 Changed 7 years ago by pineray

後方互換用に従来の形式の関数を集めたファイルを用意しました。

また、ヘッダーログインブロックでログアウトできるように修正しました。

comment:10 Changed 7 years ago by m_uehara

管理画面のカテゴリ登録CSVを行おうとした際、 結果画面が別ウィンドウで表示されてしまいます。
ご確認のほどよろしくお願いいたします。

comment:11 Changed 7 years ago by pineray

カテゴリ登録CSVの結果画面が別ウィンドウで開く不具合を r23119 にて対応しました。

comment:12 Changed 7 years ago by m_uehara

マイページの購入履歴一覧にてページャーが動作しなくなっている事を確認しました。
JS処理をご確認のほどよろしくお願いいたします。

comment:13 Changed 7 years ago by m_uehara

管理画面>デザイン管理>テンプレート設定 の削除リンクも動作しなくなっている事を確認しました。
JS処理のご確認のほどよろしくお願いいたします。

comment:14 follow-up: ↓ 17 Changed 7 years ago by m_uehara

r23136 で動作の確認を行っております。

下記、画面の処理もご確認のほどよろしくお願いいたします。
・管理画面>デザイン管理>CSS設定 にて、CSSが登録できませんでした。
・管理画面>商品管理>レビュー管理にて、レビューの検索ができませんでした。
・管理画面>システム管理>高度なデータベース管理にて、値を更新できませんでした。

comment:15 follow-up: ↓ 16 Changed 7 years ago by nanasess

r23136 にて filter 関数を使用されているようですが、 IE8 ではサポートされてないのではなかったでしょうか。

comment:16 in reply to: ↑ 15 ; follow-up: ↓ 18 Changed 7 years ago by pineray

nanasess への返信

r23136 にて filter 関数を使用されているようですが、 IE8 ではサポートされてないのではなかったでしょうか。

jQuery のドキュメントには記述が無いのですが、ソースを教えて頂けますでしょうか。

comment:17 in reply to: ↑ 14 Changed 7 years ago by pineray

m_uehara への返信

r23136 で動作の確認を行っております。

下記、画面の処理もご確認のほどよろしくお願いいたします。
・管理画面>デザイン管理>CSS設定 にて、CSSが登録できませんでした。
・管理画面>商品管理>レビュー管理にて、レビューの検索ができませんでした。
・管理画面>システム管理>高度なデータベース管理にて、値を更新できませんでした。

動作確認いただきありがとうございます。 上記不具合について、 r23137 にて対応しました。

comment:18 in reply to: ↑ 16 Changed 7 years ago by nanasess

pineray への返信

nanasess への返信

r23136 にて filter 関数を使用されているようですが、 IE8 ではサポートされてないのではなかったでしょうか。

jQuery のドキュメントには記述が無いのですが、ソースを教えて頂けますでしょうか。

jQuery.filter だったのですね。 JavaScript? ネイティブなフィルター関数と勘違いしてました。失礼しました。

comment:19 in reply to: ↑ 9 Changed 7 years ago by nanasess

pineray への返信

後方互換用に従来の形式の関数を集めたファイルを用意しました。

決済モジュールの互換性保持のため、 r23142 にて、コメントアウトではなく、変数に応じて読み込むよう変更しました。

comment:20 in reply to: ↑ 9 Changed 7 years ago by nanasess

pineray への返信

後方互換用に従来の形式の関数を集めたファイルを用意しました。

決済モジュールの互換性保持のため、 r23142 にて、コメントアウトではなく、変数に応じて読み込むよう変更しました。

comment:21 follow-up: ↓ 22 Changed 7 years ago by m_uehara

管理画面>コンテンツ管理>ファイル管理 にて、ファイルの「表示」リンクをクリックするとJSエラーが発生します。
ご確認のほどよろしくお願いいたします。

comment:22 in reply to: ↑ 21 Changed 7 years ago by pineray

m_uehara への返信

管理画面>コンテンツ管理>ファイル管理 にて、ファイルの「表示」リンクをクリックするとJSエラーが発生します。

r23154 にて対応しました。

comment:23 Changed 7 years ago by h_yoshimoto

r23169 にて旧JSの関数も呼べるように変更しました。 モジュール・プラグインへの影響が大きい箇所になるので、2.13では互換性を持たせた形でリリースしたいと思います。

しかし、上記の仕様ではメンテナンス性が悪いので「eccube.legacy.js、eccube.admin.legacy.js」内の関数は「eccube.js、eccube.admin.js」を参照する様に2.13.1で対応したいと思います。

別チケットとして発行させて頂きます。
#2365

comment:24 Changed 7 years ago by h_yoshimoto

  • Status changed from new to closed
  • 修正済み set
  • Resolution set to 修正済

r23191 にてコメント追加
クローズさせていただきます。

Note: See TracTickets for help on using tickets.