Home > Flash | 制作 > 初回表示時にアンカーが取得できない(SWFAddress)

初回表示時にアンカーが取得できない(SWFAddress)

  • Posted by: ogies
  • 2008年5月27日 18:23
  • Flash | 制作

SEO対策やトラッキングなどの実装をケースが自分の制作でてくるようになりました。

それで、その場合にはSWFAddressのお世話になることも多いのですが、SWFAddressで初回表示時にアンカーが取得できない現象に見舞われたのでメモ。

現象

現象としてはこんな感じ。初期表示のときに#以降の値が取れないんです。

初期表示のときに#以降の値が取れないサンプル

ちなみに正常な挙動はこれ。

正しい挙動

これができないと、何が困る?

それは、1.html#testのようにパーマリンクでたどってきたユーザーに対しての復帰がまったく出来なくなってしまうこと。別のケースとしては、サイトマップがHTMLで作られてて飛んできたユーザーも再現ない。
こんな現象、コンテンツ佳境に出てくるとかなり泣きそうなことになる。

原因

Flash側を疑ったり、Flash内でも色々と読み込んでいるからそのタイミングかなとか、いろいろと現象を見てみたんですが、結局、Flashの中の書き方は問題がなくて、Javascriptの記述順が違ってたのが原因でした。

正しい挙動のJavaScriptでは以下のように書かれています。


<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="js/AC_RunActiveContent.js" language="javascript"></script>
<script type="text/javascript" src="js/swfaddress.js"></script>

つづいて、初期表示のときに#以降の値が取れないサンプルでは順番が逆に書いています。


<script type="text/javascript" src="js/swfaddress.js"></script>
<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="js/AC_RunActiveContent.js" language="javascript"></script>


たぶん、AC_RunActiveContent.js側のFlashタグの生成と、SWFAddress側のアンカーの値を保持する挙動が競合しあってうまく行ってないんだろう。

SWFAddress+SWFObjectのサンプルがいっぱいあってSWFAddress自体の把握には役に立ったのだけど、今のコンテンツでAC_RunActiveContent.jsを使ってたからイマイチ状況が特定できませんでした。


[参考文献]

Asual » SWFAddress
http://www.asual.com/swfaddress/

Home > Flash | 制作 > 初回表示時にアンカーが取得できない(SWFAddress)

Search
Feed

Return to page top