私が知る限り、誰もフォーラム(StackOverflowまたは他の場所)でこの質問をしたことはありません。PeopleCodeからウィンドウを閉じるにはどうすればいいですか?
私の問題
これは私がする必要があります。雇用事務所には、I9を人から受け取るためだけに使用されるコンピュータがあります。これは非常に頻繁に起こります。最後に、キャッシュ、クッキー(およびログイン情報)がI9キオスクから削除されるため、ブラウジングウィンドウを閉じることができます。
PeopleCode内の現在のブラウザウィンドウを閉じる方法はありますか?私は、ウィンドウを閉じるとJavaScriptで自明であることを知っている
を試してみましたが、何
。 window.close()
と入力すると、ブラウザウィンドウが閉じます。 PeopleCodeでこれを行うことができれば、私の問題は解決されます。私はそれを行う方法が見つかりませんでした。
現在、フォームを送信すると、次のコードが呼び出されます。このFieldFormulaインサイド
%Response.RedirectURL(GenerateScriptContentURL(%Portal, %Node, Record.WEBLIB_G_I9, Field.ISCRIPT1, "FieldFormula", "IScript_I9_CLOSE_KIOSK"));
、次のコードの処理が行われます。ここでは
%Response.Write(GetHTMLText(HTML.G_CLOSE_FORM_KIOSK));
は、HTMLの内容が参照されています。
You have successfully completed Section 1 of the Form I-9. Now present your documentation to the employment representative to complete Section 2
<script language="javascript">
window.close();
</script>
window.close();
は呼び出されず、プレーンテキストのみが表示されます。私が間違っていることはありますか?
私は、HTML領域のみを持つページにルーティングしようとしましたが、そのHTMLにJavaScriptを埋め込んでいますが、動作していません。私はこのページをI9フォームと同じコンポーネントに置き、TransferPage(Page.Y_CLOSE_WINDOW);
を呼び出しようとしましたが、これは影響がないようです。これは、ページが読み込まれる方法が原因です。
私の次の考えは、JavaScriptを(Rhino、Nashorn、またはjavax.script.ScriptEngineのいずれかを使用して)呼び出すPeopleCodeでJavaObjectを作成することでしたが、複雑で、余分なコードをたくさん導入する必要があります簡単なJavaScriptコマンドを実行するだけのjarファイルです。私は本当にこれをしないことを好むだろう。
のようなHTMLオブジェクトと
を使用することができますキオスクコンピュータ上のすべてのブラウザは、それらを閉じたとき、キャッシュとCookieをクリアするように設定されています。だから、閉鎖に加えてログアウトすることは素晴らしいだろうが、私はそれが可能だとは思わなかった。 –
私が知る限り、javascriptでメインブラウザのウィンドウを閉じることはできませんし、自動的にキャッシュとクッキーをクリアすることもできません。キャッシュとCookieをクリアする必要があるのはなぜですか?セキュリティ上の理由から? –
JavaScriptでキャッシュやCookieをクリアできないことは知っていますが、ブラウザを閉じたときに使用するすべてのブラウザ(ほとんどはChrome/Firefox)で可能です。私は追加情報を探します。ちなみに、私は '%Response.Redirect(%Request.LogoutURL));と呼んでコンピュータをログアウトさせることができます。 –