web-dev-qa-db-ja.com

ページ読み込み後のアラート

これは私のスクリプトです:

<%
    if (TempData["Resultat"] != null){
%>
<script type="text/javascript">
    alert('<%: TempData["Resultat"]%>');
</script>
<%
    }
%>

この場合、ページがロードされる前にポップアップが表示されますが、ページが完全にロードされた後にポップアップが表示されます。 Htmlでは、次のようになります。

<body onload="happycode() ;">

しかし、MVCでは使用できません。すべてのWebアプリケーションに対して1つのマスターページがあります。

11
Chlebta

Jqueryを使用できる場合は、$(document).ready()関数内にアラートを配置できます。次のようになります。

<script>
  $(document).ready(function(){
    alert('<%: TempData["Resultat"]%>');
  });
</script>

JQueryを含めるには、コードの<head>タグに次を含めます。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>

JsFiddleの簡単な例を次に示します。 http://jsfiddle.net/ChaseWest/3AaAx/

13
Chase

3つの方法があります。
最初の方法は、ページの下部にスクリプトタグを配置することです。

<body>
<!--Body content-->
<script type="text/javascript">
alert('<%: TempData["Resultat"]%>');
</script>
</body>

2番目の方法は、onloadイベントを作成することです。

<head>
<script type="text/javascript">
window.onload = function(){//window.addEventListener('load',function(){...}); (for Netscape) and window.attachEvent('onload',function(){...}); (for IE and Opera) also work
    alert('<%: TempData["Resultat"]%>');
}
</script>
</head>

ウィンドウがロードされると、関数を実行します。
最後に、3番目の方法はreadystatechangeイベントを作成し、現在のdocument.readystateを確認することです。

<head>
<script type="text/javascript">
document.onreadystatechange = function(){//window.addEventListener('readystatechange',function(){...}); (for Netscape) and window.attachEvent('onreadystatechange',function(){...}); (for IE and Opera) also work
    if(document.readyState=='loaded' || document.readyState=='complete')
        alert('<%: TempData["Resultat"]%>');
}
</script>
</head>
15
Danilo Valente

MVCで使用できないのはなぜですか?

Body loadメソッドを使用する代わりに、jQueryを使用して、ドキュメントのonready関数が完了するのを待ちます。

3
user1378687

JQueryを使用してドキュメント準備イベントを処理すると、

<script type="text/javascript">

function onLoadAlert() {
    alert('<%: TempData["Resultat"]%>');
}

$(document).ready(onLoadAlert);
</script>

または、さらに簡単-<script>は、bodyではなく、headの末尾にあります。

3
Imp
$(window).on('load', function () {
 alert('Alert after page load');
        }
    });
2
user1667495

PageLoadイベントに以下のコードを追加します。

ScriptManager.RegisterStartupScript(Page, this.GetType(), "myScript", "alert('OK Done.');", true);
1
Subhash