#contents
#br
*質問1:スクリプトが実行されないのですが [#w22d5445]
&color(black,#66CDAA){'' 回答 ''};~
[ADOS SiteArc 設定] ダイアログの [開始時にスクリプトを使用] チェックボックスがオフになっていないか確認してください。
チェックボックスがオフになっているとスクリプトが動作しませんので、チェックボックスをオンにしてください。
-''TIPS''~
--[ADOS SiteArc 設定] ダイアログは、SiteArc ツールバーの [オプション] アイコン - [設定] で表示されます。
*質問2:漢字の入ったセッションファイルを実行するとエラーになります [#b90e55e6]
&color(black,#66CDAA){'' 回答 ''};~
「セッションのフォーマットかファイルアクセスに問題があります」というメッセージが出ると思います。この場合、セッションファイル(rec ファイル)の先頭1行目のXML宣言行を見てください。
''デフォルトのXML宣言行''
<?xml version="1.0"?>
上記がXML宣言行のデフォルトであり、使用する文字コードはUTF-8扱いになっています。~
つまり、次のエンコーディング指定をするのと同じ設定になっています。
<?xml version="1.0" encoding="UTF-8"?>
このため、漢字コードが含まれるセッションファイルをUTF-8以外の文字コードで保存して実行した場合に、「セッションのフォーマットかファイルアクセスに問題があります」というメッセージが出ます。
''■解決方法''~
セッションファイルを、文字コードUTF-8で保存し直してください。
または、該当する文字コードをセッションファイルのXML宣言に加えてください。
''エンコーディングがシフトJISコードの場合の例''~
<?xml version="1.0" encoding="Shift_JIS"?>
*質問3:サンプルセッションのスクリプト中にでてくる「&lt;」という記述に関して教えてください [#sf7a7911]
&color(black,#66CDAA){'' 回答 ''};~
セッションファイル(recファイル)はXMLで記述されています。
そのため、GETコマンド、EXECコマンドで、スクリプトをセッションファイル(recファイル)中に直接記述している場合に限り、下記の2種類の文字に関しては、XMLのエンティティ参照による表記が必要となります。
|CENTER:文字名|CENTER:BGCOLOR(#ccffcc):文字参照|CENTER:BGCOLOR(#ffccff):エンティティ参照|h
|左山かっこ|CENTER:<|LEFT:&lt;|
|アンパサンド|CENTER:&|LEFT:&amp;|
[[→ 関連記事リンク:http://msdn2.microsoft.com/ja-jp/ms256190(ja-jp,VS.80).aspx]]
なお、このエンティティ参照表記がわずらわしいと思われる場合は、次の例のように、外部スクリプトファイルを[[modules ディレクトリ>M(SiteArc百科事典)#k4222c8a]]に置き、実行する方法もあります。
<command>GET</command>
<script src="modules\get_table.js"/>
この場合「<」、「&」は、そのままスクリプト(例:get_table.js)の中に記述できます。
*質問4:DOWNLOADコマンドを同じページに対して繰り返し実行すると、同一ファイル名に番号が付いた形式でダウンロードされます。番号が付かない名前で、最新のファイルを格納する方法は? [#r05d2617]
&color(black,#66CDAA){'' 回答 ''};~
DOWNLOADコマンドによってダウンロードされるファイルの名前に関しては、[[「download ディレクトリ」>D(SiteArc百科事典)#c05e41ee]]を参照してください。
同じ名前のファイルが既に格納されている場合、それらの同名ファイル(全世代)をワイルドカード(*)ですべて削除してからダウンロードすれば、最新のページが世代番号なしで格納されます。~
以下は、ファイルが既に存在するときにその同名ファイル(全世代)を削除するスクリプトの例です。
var objFS;
objFS = webPilot.createActiveXObject("Scripting.FileSystemObject");
var ext = ".html";
var BaseFileName = webPilot.HomePath + "\\download\\order";
var WildCardFileName = BaseFileName + "*";
if (objFS.FileExists(BaseFileName + ext) != 0) {
objFS.DeleteFile(WildCardFileName + ext);
}
*コメントコーナー [#q8f1a1f1]
#comment