We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 20198
    • 6 Posts
    お世話になります。

    ふとしたことで気がつき、気になったため調べているのですが

    以下サイトmodxで構築されています。
    http://www.dreampromotion.net/

    各ページに移動するときにページが一瞬きえるのですが、
    通常(?)共通画像部分はキャッシュされ次ページに移動しても描画されたままだと
    思っていたのですが、、、何が原因なのでしょうか?

    よろしくお願いいたします。

    modx バージョン
    0.9.6.1p2
      • 6350
      • 421 Posts
      FireFox だけのようですね。IE7では消えません。

      firefoxだとこのページが重いです。 - 教えて!goo
      http://oshiete1.goo.ne.jp/qa4187795.html

      マクロメディアのデフォルトのAC_RunActiveContent.jsを使ったAC_FL_RunContentにてObject/Embedを出力すると
      http://www.ironhearts.com/diary/archives/flash/

      一度フラッシュをはずしてみるとかしないとわかりませんね。
        • 26012
        • 324 Posts
        これですか・・・
        ---------------------------------------------------------------------------
        解決策としては、
        1)AC_RunActiveContent.jsを改造し、objectにはidを、embedにはnameを出力するようにする。
        2)AC_FL_RunContentの代わりにSWFObjectを使う。

        SWFObjectはAC_RunContentより高機能だけれど、いちいちコードを書くのが面倒だしなぁ。。
        AC_RunContentで足りてるっちゃ足りてるので、こちらを修正する方向で考えよう。
        ---------------------------------------------------------------------------

        そういえば、最近IEの「ActiveXワンクリック問題」に出くわすことがなくなったな~と思ったら、
        半年以上前に改修されてたんですね(知らなかった)。
         http://coliss.com/articles/browser/ie/609.html
         http://blogs.msdn.com/ie/archive/2007/11/08/ie-automatic-component-activation-changes-to-ie-activex-update.aspx
        Vista SP1/XP SP3 では不要らしいし、パッチのリリースから半年も経つからFLASHをダイレクトに
        入れてもいいように感じますが、まだ早いんですかね?

        少し前のDreamweaverだと回避ロジックが自動挿入されてしまうと思いますが、最新の
        Dreamweaverだとどうなるんでしょう?
          • 20198
          • 6 Posts
          dainiti様 sama55様
          ご返答頂き有難う御座います。
          ご指摘とおり
          Flashを外してみたところ
          共通画像部分は描画されたまま
          画面推移するようになりました。
          それと、IE6でも問題なく表示されていました。

          しかし、
          modxで構築していないFlashありのサイトでは
          AC_RunActiveContent.jsもつかっており
          共通画像部分は描画されたまま画面推移するのですが、

          すみません、
          そこの違いがよく理解できないです。。。。

            • 6350
            • 421 Posts
            modx の違いではなくテンプレートを見てもらえればわかると思いますが先頭に次のような XHTML の定義を入れていると思います。

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

            embed 要素は XHTML 1.0/1.1 では定義されておらず、画像以外のオブジェクト埋め込みには object 要素だけで行います。

            とりあえず上記の DOCTYPE の行をはずすだけで解決すると思います。
            HTML 4.01とか別の宣言は入れておいたほうがいいでしょう。

            またはsama55さんの案も試してみてはどうでしょうか?
              • 20198
              • 6 Posts
              dainiti様
              ご返答頂き有難う御座います。
              以下のことを試してみました。

              ・SWFObject(wmode:’transparent’が効いてない状態で調べ中です。)
              ・HTML 4.01(DOCTYPEだけ変えただけです。)

              SWFObjectで最初試してみましたところ
              共通画像部分は描画されたまま画面推移するようになりましたが、
              ときどき消える場合があり、
              dainiti様の教えてくださった、

              >とりあえず上記の DOCTYPE の行をはずすだけで解決すると思います。
              >HTML 4.01とか別の宣言は入れておいたほうがいいでしょう。

              も同時にトップページと映像製作ページにて試してみました。
              しかし、ときどき消えるのは私のfirefox(バージョン2.0.0.20)では変わりませんでした。
              またIE6では逆に各ページ一瞬消える現象になってしまいました。

              Modx公開サイト紹介でほかの方のFlash使用サイトはそういった
              ところは見られないので、何かほかの原因なのでしょうか?

              お手数おかけして申し訳ありません。
              よろしくお願いします。




                • 6350
                • 421 Posts
                Quote from: moonnz at Jan 29, 2009, 07:14 AM

                ・SWFObject(wmode:’transparent’が効いてない状態で調べ中です。)
                ・HTML 4.01(DOCTYPEだけ変えただけです。)
                XHTML と AC_RunActiveContent.js、swfobject 同時に変えてしまっては本当の原因がわからなくなってしまいます。


                Quote from: moonnz at Jan 29, 2009, 07:14 AM

                SWFObjectで最初試してみましたところ
                共通画像部分は描画されたまま画面推移するようになりましたが、
                ときどき消える場合があり、
                dainiti様の教えてくださった、

                >とりあえず上記の DOCTYPE の行をはずすだけで解決すると思います。
                >HTML 4.01とか別の宣言は入れておいたほうがいいでしょう。

                も同時にトップページと映像製作ページにて試してみました。
                しかし、ときどき消えるのは私のfirefox(バージョン2.0.0.20)では変わりませんでした。
                またIE6では逆に各ページ一瞬消える現象になってしまいました。
                こちらは FireFox3 で見ていますがスムーズです。swfobject にしたのが効果ありということでしょうか。
                HTML と AC_RunActiveContent.js の組み合わせはどうでしたか。

                「デザイン製作」をクリックしたときだけすこしちらつきますが。
                アドビのHP も XHTML と swfobject で組まれているようです。比較してみてはどうでしょうか。

                Quote from: moonnz at Jan 29, 2009, 07:14 AM

                Modx公開サイト紹介でほかの方のFlash使用サイトはそういった
                ところは見られないので、何かほかの原因なのでしょうか?
                実際にソースファイルもないのでこちらでは推測でしか意見が言えないのですが thr さんが紹介している flash を使ったHP は同じようにちらつくようです。
                http://modxcms.com/forums/index.php/topic,32262.0.html

                こちらは embed が使われているのが原因と思われますが、FireFox3 でちらつき IE7 ではちらつきません。
                thr さん、このあたりどうなんでしょうか?

                Quote from: moonnz at Jan 28, 2009, 08:34 AM

                しかし、
                modxで構築していないFlashありのサイトでは
                AC_RunActiveContent.jsもつかっており
                共通画像部分は描画されたまま画面推移するのですが、
                こちらのアドレスもわからないのでこちらでは比較のしようもありません。
                http://www.dreampromotion.net/ では、まだ XHTML の記述が全体に残ってますよね。IE でちらつくのはその辺が関係していそうな気もします。

                こんどは IE6、7 と swfobject の相性が悪いといった現象もあるようです。いろいろ検索してみてください。
                http://mtl.recruit.co.jp/blog/2008/02/ie7swfobject.html
                http://www.google.co.jp/search?hl=ja&q=swfobject+ie7&lr=lang_ja

                最悪原因がつかめない場合には IEと FireFox で処理をかえるというのはどうでしょうか?
                  • 6350
                  • 421 Posts
                  swfobject 2.1 で確認してみました。
                  http://code.google.com/p/swfobject/

                  サンプルを見てみるとやはり IE とその他のブラウザで処理を変えているようです。
                  ただし、この場合にも AC_RunActiveContent.js と同じく FireFox3 でちらつきます。
                  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                  <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
                  	<head>
                  		<title>SWFObject 2 static publishing example page</title>
                  		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                  		<script type="text/javascript" src="swfobject.js"></script>
                  		<script type="text/javascript">
                  		swfobject.registerObject("myId", "9.0.0", "expressInstall.swf");
                  		</script>
                  	</head>
                  	<body>
                  		<div>	
                  			<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="120">
                  				<param name="movie" value="test.swf" />
                          		<!--[if !IE]>-->
                  				<object type="application/x-shockwave-flash" data="test.swf" width="300" height="120">
                  				<!--<![endif]-->
                  				<div>
                  					<h1>Alternative content</h1>
                  					<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
                  				</div>
                  				<!--[if !IE]>-->
                  				</object>
                  				<!--<![endif]-->
                  			</object>
                  		</div>
                  	</body>
                  </html>
                  


                  こちらは僕が考えた方法でどちらでもちらつかずに表示できます。
                  どちらも modx は使っていません。
                  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                  <html xmlns="http://www.w3.org/1999/xhtml">
                  
                  <HTML>
                  <HEAD>
                  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
                  <META http-equiv="Content-Style-Type" content="text/css">
                  <TITLE></TITLE>
                  </HEAD>
                  <BODY>
                  <P>
                    <OBJECT id="xxx" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  width="645" height="147">
                    <PARAM name="MOVIE" value="header.swf">
                    <PARAM name="QUALITY" value="high">
                    <EMBED src="header.swf" width="645" height="147" type="application/x-shockwave-flash">
                    </OBJECT>
                  </P>
                  あいうえおかきくけこさしすせそ<BR />
                  </BODY>
                  </HTML>

                  問題なく見える HP と問題のある HP の該当部分を抜き出して単独で比較すると違いが見えてきませんか。
                    • 6350
                    • 421 Posts
                    今回は swfobject 2.1に限定した方法で説明します。
                    http://code.google.com/p/swfobject/

                    サンプルのヘッダ部分の定義を ja utf-8 などに変更してみると FireFox でもなぜかちらつきはほとんどなくなりました。
                    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                    <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
                    	<head>
                    		<title>SWFObject 2 static publishing example page</title>
                    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                    		<script type="text/javascript" src="swfobject.js"></script>
                    		<script type="text/javascript">
                    		swfobject.registerObject("myId", "9.0.0", "expressInstall.swf");
                    		</script>
                    	</head>
                    	<body>
                    		<div>
                    			<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="120">
                    				<param name="movie" value="test.swf" />
                    				<!--[if !IE]>-->
                    				<object type="application/x-shockwave-flash" data="test.swf" width="300" height="120">
                    				<!--<![endif]-->
                    				<div>
                    					<h1>Alternative content</h1>
                    					<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
                    				</div>
                    				<!--[if !IE]>-->
                    				</object>
                    				<!--<![endif]-->
                    			</object>
                    		</div>
                    		あいうえおかきくけこさしすせそ
                    	</body>
                    </html>

                    サンプルのヘッダー内で使用されている swfobject.registerObject の有効性に関しては有効性がよく理解できませんが moonnz さんの HP http://www.dreampromotion.net/ では明らかにおかしな書き方をされているようです。

                    (1)ヘッダ内で呼び出しをしている次の呼び出しは本来 <body> ~ </body> の中で使用するものです。これが IE でちらつく大きな原因ではないでしょうか。
                    swfobject.embedSWF("header.swf", "img002", "645", "147", "7.0.0","expressInstall.swf", params);

                    (2)サンプルに書かれている方法を厳守せずブラウザの違いを無視した書き方になっている
                     <!--[if !IE]>--> の使用など。サンプルの推薦した書き方を無視して IE のサポートしていないタグが出力されている。

                    こちらでは、ここまでしかいえませんのでサンプルの書き方を参考に推薦された方法で試してみてください。
                      • 20198
                      • 6 Posts
                      dainiti様
                      ご返答頂き本当に有難う御座います。

                      返信遅くなり申し訳ありません。
                      ご教示いただいた方法で試してみたいと思います。
                      結果がわかりましたら報告します。