★黒猫宅急便★ver.2
( *´艸`) いらっしゃいまし。
先日やった、JavaScriptによるブラウザ判別を利用して、Flashでブラウザによって処理を変えることをやってみた。
お気に入りに登録っていう処理
window.external.AddFavorite(location.href, document.title);
コレ実は、Windows IE 4.0以降でしか機能しないんだよね。
知ってた?オレは、知らなかった。
FIreFoxのお気に入りに登録させるスクリプトは、、、
window.sidebar.addPanel(location.href, document.title);
んで、Safariについては非対応?らしい。
さらにMacのブラウザについては、IEであっても非対応。
なので、非対応ブラウザについては、その旨についてのアラートを表示するという処理をやってみた。
Flashのアクションスクリプトから、html側に記述したjavascript関数を呼び出しブラウザ判別の処理をさせる。今回は、この処理にExternalInterfaceを使用した。
ただし、ブラウザ(特にIE)によって、flashとjavascriptでの処理速度の違いにより値の受取がうまく機能しないため、Flashの貼り付けタグに id="externalkuro" を追加し、対応。
※ id="" の記載文字は、"~external" or "external~" のどちらでも可ってことらしい。
今回のソースコード
<html側>
-----------ここから-----------
<script type="text/javascript">
<!--
function javaagent(){
var ua = "";
var useagent = "";
ua = window.navigator.userAgent.toLowerCase();
if(ua.indexOf("msie") > -1){
useagent = "msie";
}
else if(ua.indexOf("firefox") > -1){
useagent = "firefox";
}
else{
useagent = "etc";
}
return useagent;
}
// -->
</script>
<br />
<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="150" height="50" id="externalkuro">
<param name="allowScriptAccess" value="always">
<param name="movie" value="xxx.swf">
</param>
<embed src="xxx.swf" type="application/x-shockwave-flash" allowscriptaccess="always" width="150" height="50">
</embed>
</object>
if(ua.indexOf("msie") > -1){
useagent = "msie";
}
else if(ua.indexOf("firefox") > -1){
useagent = "firefox";
}
else{
useagent = "etc";
}
return useagent;
}
// -->
</script>
<br />
<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="150" height="50" id="externalkuro">
<param name="allowScriptAccess" value="always">
<param name="movie" value="xxx.swf">
</param>
<embed src="xxx.swf" type="application/x-shockwave-flash" allowscriptaccess="always" width="150" height="50">
</embed>
</object>
-----------ここまで-----------
<Flash側>
-----------ここから-----------
on(press){
<Flash側>
-----------ここから-----------
on(press){
//ExternalInterfaceの使用
import flash.external.ExternalInterface;
import flash.external.ExternalInterface;
//userAgentの取得
_global.agent = ExternalInterface.call("javaagent");
_global.agent = ExternalInterface.call("javaagent");
//取得したブラウザ情報で、処理分け
if(_global.agent == "msie"){
getURL("JavaScript:window.external.AddFavorite(location.href,document.title);");
}
else if(_global.agent == "firefox"){
getURL("JavaScript:sidebar.addPanel(location.href,document.title);");
}
else if(_global.agent == "etc"){
getURL("javascript:alert('Windows Internet Explorer4.0以降でのみ実行可能');");
}
else{
getURL("javascript:alert('Windows Internet Explorer4.0以降でのみ実行可能');");
}
}
-----------ここまで-----------
-----------ここまで-----------
Tweet |
<< 8月5日(水)bB NCP メッキドアハンドル&モール(6P)
HOME
8月3日(月)使用ブラウザの判別(JAVA SCRIPT) >>
[1433] [1432] [1425] [1430] [1426] [1428] [1427] [1431] [1429] [1424] [1422]
[1433] [1432] [1425] [1430] [1426] [1428] [1427] [1431] [1429] [1424] [1422]
この記事にコメントする
この記事へのトラックバック
この記事にトラックバックする:
かうんたー
現在の閲覧者数:
かてごりー
きじ検索
記事らんきんぐ
広告
あくせすらんきんぐ
ぷろふぃーる
最新記事
(06/26)
(12/31)
(12/31)
(12/30)
(12/29)
(12/29)
(12/28)
あーかいぶ
広告3
ブログ ver.4
PR