まず第一に、私はいつも同じことを言います: 私の英語がとても下手で申し訳ありません。私のことをよく理解していただければ幸いです。
ユーザーがタブを閉じようとしたとき、またはブラウザーを閉じようとしたときに、ユーザーに通知する必要があります。ブラウザが閉じられないようにイベントを発生させる方法はありますか? アプリケーションは Silverlight で作成されています。
前もって感謝します。
まず第一に、私はいつも同じことを言います: 私の英語がとても下手で申し訳ありません。私のことをよく理解していただければ幸いです。
ユーザーがタブを閉じようとしたとき、またはブラウザーを閉じようとしたときに、ユーザーに通知する必要があります。ブラウザが閉じられないようにイベントを発生させる方法はありますか? アプリケーションは Silverlight で作成されています。
前もって感謝します。
次の例を見てください。サンプル アプリケーションもあります。
それは、Silverlight と JavaScript を使用して、Web ページから離れないようにすることです。
ジャバスクリプト:
<script language="javascript" type="text/javascript">
window.onbeforeunload = askConfirm;
function askConfirm() {
var control = document.getElementById("silverlightControl");
var preventLeave = control.Content.Page.PreventLeave();
if (!preventLeave) {
return;
}
var message = control.Content.Page.LeaveRequested();
return message;
}
</script>
Silverlight コード:
public MainPage()
{
InitializeComponent();
HtmlPage.RegisterScriptableObject("Page", this);
}
[ScriptableMember]
public string LeaveRequested()
{
return "You have unsaved changes to your current document?";
}
[ScriptableMember]
public bool PreventLeave()
{
return (bool)PreventLeaveCheckBox.IsChecked;
}
これはjavascriptで簡単にできます。例えば:
<html>
<head>
<script type="text/javascript">
<!--
function closeIt(url,name)
{
return "Hi there! I'm a message!";
}
window.onbeforeunload = closeIt;
// -->
</script>
</head>
<body>
<p>I'm a webpage!</p>
</body>
</html>