別のクラシック ASP ページ (logincode.asp -- 最初のページの機能を含む) を含むクラシック ASP ページ (login.asp) を更新しています。
以前は、ログイン ボタンをクリックした後、logincode.asp でいくつかの機能を実行し、必要に応じて利用規約のダイアログを開きました...
If Not Application("RequireTermsAcceptance") Then
Response.Redirect(redirectURL)
Else
response.Write("<script>$(function () {displayTerms();});</script>")
End If
...そして、これはlogin.aspでJavascript関数を呼び出すことで機能しました
<script>
function displayTerms() {
//open Dialog box here
}
</script>
ダイアログ ボックスには 2 つのボタンがあります。1 つは同意すると次のページに進むボタン、もう 1 つは login.asp に戻るボタンです。
ただし、新しいセットアップは、機能に適切に移動することを望んでいません。
これにはいくつかの理由が考えられます...
- jquery ui の新しいバージョンを使用する ... jqueryui/1.8.8/jquery-ui.min.js - 古い ... jquery-ui-1.8.16.custom.min.js 新しい。
- 古いものは、displayTerms 関数を呼び出すまで、jquery UI ダイアログ ボックスを作成しませんでした。新しいものは $(document).ready(function () で jquery UI ダイアログを構築しますが、displayTerms 関数が呼び出されるまで非表示になります。
- displayTerms 関数の場所が間違っています。現在、新しいバージョンでは $(document).ready(function () セクション内にありますが、それが正しい場所かどうかはわかりません。
displayTerms 関数の呼び出しをどのように変更する必要があるかを知るには、javascript 構文に精通していませんが、それでも response.Write に含める必要があると思います。現在、コードは最後まで実行されますが、displayTerms 関数を呼び出す必要がある response.Write に到達すると、それをヒットして渡し、login.asp ページをリロードするだけです。
これがどのように機能するかについての提案をいただければ幸いです。さらに詳しい情報が必要な場合はお知らせください。喜んで提供させていただきます。