dポイントプレゼントキャンペーン実施中!

GoLive6.0(win)を使用しています。
アクションの設定で文字をクリックした際にウィンドウが閉じるようにしたくアクションパレットで設定をしたのですが、全然反映されません。他のパレットでもなにか設定が必要なのでしょうか?
*会社で使用しており、他のページの同様な箇所はきちんと設定がされてます。なぜか僕が設定するとうまくいきません。
ただ他の人も全然詳しくなくコピペで設定を使い回してる感じです。
(同じようにコピペしてるんですが・・・)
ひとつ気になるのは、きちんと設定できてるページはインスペクタのリンクURLのところに#が入ってるんですが、これはなにか意味があるんでしょうか?
どうにも困っております。
お解りの方ご教授ください。
(状況説明の不足がありましたらなにが必要かおっしゃっていただければ追記します。)

A 回答 (1件)

ゴーライブ6で行う場合、メニューの「ウィンドウW」から、アクション窓を開き、イベント→マウスをクリック、アクション→2リンク→ウィンドウを閉じる、の順で行ったのだと思います。


ここで、ソースコードを見ると、リンクの部分は、
<a onclick="CSAction(new Array(/*CMP*/'EEF55420'));return CSClickReturn();" href="(EmptyReference!)" csclick="EEF55420">閉じる</a>
のようになっており、
スクリプトの部分は、
<csactions>
<csaction name="EEF55420" class="Close Window" type="onevent"></csaction>
</csactions>
<csscriptdict import>
<script type="text/javascript" src="/????/CSScriptLib.js"></script>
</csscriptdict>
<csactiondict>
<script type="text/javascript"><!--
CSAct[/*CMP*/ 'EEF55420'] = new Array(CSCloseWindow);
// --></script>
</csactiondict>
のようになっていると思います。
「CSScriptLib.js」の位置が、サーバーアップの際file:///C:/Documents and Settings/・・・・のように誤ってファイルの位置を示したり、違ったパスを指示していないでしょうか。
なお、この「スクリプトライブラリ」は、他の色んなスクリプトがまとまっており、サイズが約75KBと大きいため、ゴーライブ6のメニュー「編集」から、環境設定窓を開き、窓左側に縦に並んでいる「スクリプトライブラリ」から、「ページにコードを書き込む」→「OK」としておくのが良いと思います。
この場合のソースコードのリンク部分は、
<a onclick="CSAction(new Array(/*CMP*/'F17D4322'));return CSClickReturn();" href="#" csclick="F17D4322">閉じる</a>
のようになっており、スクリプトは、
<title>Welcome to Adobe GoLive 6</title>
<csactions>
<csaction name="F17D4322" class="Close Window" type="onevent"></csaction>
</csactions>
<csscriptdict>
<script type="text/javascript"><!--
function CSClickReturn () {
var bAgent = window.navigator.userAgent;
var bAppName = window.navigator.appName;
if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
return true; // dont follow link
else return false; // dont follow link
}
CSStopExecution=false;
function CSAction(array) {return CSAction2(CSAct, array);}
function CSAction2(fct, array) {
var result;
for (var i=0;i<array.length;i++) {
if(CSStopExecution) return false;
var aa = fct[array[i]];
if (aa == null) return false;
var ta = new Array;
for(var j=1;j<aa.length;j++) {
if((aa[j]!=null)&&(typeof(aa[j])=="object")&&(aa[j].length==2)){
if(aa[j][0]=="VAR"){ta[j]=CSStateArray[aa[j][1]];}
else{if(aa[j][0]=="ACT"){ta[j]=CSAction(new Array(new String(aa[j][1])));}
else ta[j]=aa[j];}
} else ta[j]=aa[j];
}
result=aa[0](ta);
}
return result;
}
CSAct = new Object;
function CSCloseWindow() {
if (self.parent.frames.length != 0) {
self.parent.close()
} else {
window.close()
}
}
// --></script>
</csscriptdict>
<csactiondict>
<script type="text/javascript"><!--
CSAct[/*CMP*/ 'F17D4322'] = new Array(CSCloseWindow);
// --></script>
</csactiondict>
のように記述されます。

ただ、ウィンドウを閉じるだけの動作に、いかにも長々しいスクリプトですね。
これでどうですか
<A HREF="#" onClick = "window.close(); return false;">閉じる</A>

ボタンを使った場合
<INPUT TYPE='button' VALUE="ウインドウを閉じる" onclick="window.close();">
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!