最新のChromeで「使用テンプレート」の選択肢が出ない問題

質問全般・改善要望
返信する
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

最新のChromeで「使用テンプレート」の選択肢が出ない問題

投稿記事 by kazuike »

-----
MODXのバージョン:1.0.4J-r4(←ちょっと古いバージョン)
ブラウザ:Chrome Ver38~
-----
おそらく一昨日(2014/10/15)あたりだと思いますが、
Chromeが37から38にバージョンアップして、
少し古いMODXのリソース作成・編集画面の
「使用テンプレート」欄のプルダウンで、出るはずの選択肢が出ない。
という不具合が起こるようになりましたので、
そのあたりご報告します。

どうも、
ManagerManagerの「mm_hideTemplates」が不要なテンプレートを隠す処理のうち、
<optgroup>に対する処理のJavaScript(jQuery)の箇所が、
新しいChromeでは不具合を起こすようです。

最近のMODXではこの現象は起こりませんでしたので、
新しいものを参考にして、該当箇所を以下のように修正することで、
上記不具合を解消することができました。
(そんなことせず、MODXをバージョンアップすれば済む話だとは思いますが…)

assets/plugins/managermanager/mm.inc.php
393行目~399行目あたり

コード: 全て選択

		$j("#template optgroup").each( function() {
			var $this = $j(this);
			var $visibleOptions = $this.find("option:visible");
			if ($visibleOptions.length == 0 && jQuery.browser.opera !== true) {
				$this.hide();	
			}
		});
↓以下のように修正

コード: 全て選択

		$j("#template optgroup").each( function(){
			var $this = $j(this),
			visibleOptions = 0;
			$this.find("option").each( function() {
				if ($j(this).css("display") != "none") 	visibleOptions++ ;
			});
			if (visibleOptions == 0) $this.hide();
		});
おそらく、
1.0.4J-r4までのMODXでは同様の不具合が起こり、
1.0.4J-r5以降のMODXではこの不具合は起こらないかと思われます。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
返信する