ADOS Developer's Site - XML Stadium |
SiteArcを起動したいWebページのフォームの中に、起動用のボタンを入れます。
<input type="button" value="シナリオ起動" onClick="Start_SiteArc()">
ボタンがクリックされたときに実行される、JavaScript関数を用意し、Webページに直接入れるか、別ファイルとしてWebページから参照します。
例:セッションファイル scenario1.rec を起動する関数
function Start_SiteArc() { var win = window.open("about:blank", "SiteArc"); win.location.href = "http://sitearc.task/?session=scenario1"; }
var winStyle = "left=10,top=10,width=500,height=300,menubar=no,toolbar=no,resizable=yes"; var win = window.open("about:blank", "SiteArc", winStyle); win.location.href = "http://sitearc.task/?session=scenario1";
WebサイトA(出発地)から、別のWebサイトBへジャンプして情報を引き渡し、WebサイトB内の処理を行い、取得した情報をWebサイトA(出発地)に戻す方法です。
(基幹業務ソリューションの実績もありますので、詳しくは prdept@a-dos.com までお問い合わせください)
WebサイトA(CGI、JSP、ASPなどのWebアプリケーションを想定) フォームに情報入力 ↓ 送信ボタンクリック ↓ ページにバンドルされたJavaScriptを起動 ・引渡し情報をレジストリに書き込む ・SiteArcセッションを別ウィンドウに起動 ・WebサイトBの処理終了を監視 WebサイトB(SiteArcセッションで自動実行) ・レジストリの引渡し情報を基に、自動実行処理 ・Webページから情報を取得してレジストリやファイルに書き込む ・処理終了情報をレジストリに書き込む WebサイトA WebサイトBの処理終了を監視 ↓ 処理終了時に、レジストリやファイルからWebサイトBの戻り情報を取得 ↓ Webページに表示する
IEをWebブラウザオブジェクトとしてスクリプトから生成 ↓ 生成したIEオブジェクトにSiteArcセッションを起動して自動実行 ↓ 自動実行終了後、手動操作の監視に切り替え ↓ ユーザの手動操作を監視し、情報の保管や他システム連携を行う
上記のような流れになります。
(基幹業務ソリューションの実績もありますので、詳しくは prdept@a-dos.com までお問い合わせください)
雛形となるスクリプト(外部jsファイルに記述する場合)
if (document.frames.length > 0) { for (var n = 0; n < document.frames.length; n++) { alert("!!! frames(" + n + ") !!!"); alert(document.frames(n).document.body.innerHTML); } }
セッションファイルに直接記述する場合は、「<」をエスケープする
<script> if (document.frames.length > 0) { for (var n = 0; n < document.frames.length; n++) { alert("!!! frames(" + n + ") !!!"); alert(document.frames(n).document.body.innerHTML); } } </script>
利用者に余計な操作をさせないために、Internet Explorerを非表示のまま起動して実行したい場合があります。
その要求は、WSH(Windows Scripting Host)からSiteArcを起動することによって実現できます。
以下は、IEを非表示にしてSiteArcセッション sales.rec を実行するためのVBScriptです。
invisible.vbs
Dim IE, IsTerminate IsTerminate = False Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_") IE.Visible = False IE.Navigate "http://sitearc.task/?session=sales" Do While(Not IsTerminate) WScript.Sleep 1000 Loop Sub IE_OnQuit() IsTerminate = True End Sub
invisible.vbsのダブルクリック、またはコマンドラインから実行できます。
Copyright 2005-2008. ADOS Co., Ltd. All Rights Reserved. |