2017-10-30 15 views
0

私は、システムのセッションストレージに値がある場合、データをロードしたいかみそりビューページを持っています。私はcshtmlJavaScriptコールバックが面倒なMVCで実行されていません

<main class="admin-main" onreadystatechange="testMe"> 
<!--Hidden content here--> 
</main> 

testMeを以下していることは、私は次のように外部のJavaScriptファイルで定義していますコールバックです:

function testMe() { 
    if (document.readyState === 'loading') { 
     console.log("Admin page accessed"); 
     if (sessionStorage.getItem('special')) { 
      return; 
     } 
     else { 
      window.location.href = "/Home/SpecialLogin"; 
     } 
    } 
} 

私はクロームでこれを実行すると、JavaScriptを実行したことがないので、何も起こりません。私はtestMetestMe()の両方を使用してみました。

私はスクリプトタグとページの下部にそれを含めようとしましたが、まだ応答はありませんでした。ブレークポイントは決してトリガーしません。

これを行うためのMVCメソッドがありますか?私はオーバーステッピングしていますか?スタンドアロンのhtml/css/jsで実行するとうまくいきます。

答えて

1

documentationによれば、readystatechangeイベントは、文書の属性が変更されたときに発生します。 mainタグにはreadyState属性がありません。

あなたはそのコードがドキュメントのreadyStateが変更されたときに実行したい場合は、このようにjQueryを使用することができます。

$(document).on('readystatechange', function() { 
    if (document.readyState === 'loading') { 
     console.log("Admin page accessed"); 
     if (sessionStorage.getItem('special')) { 
      return; 
     } 
     else { 
      window.location.href = "/Home/SpecialLogin"; 
     } 
    } 
}); 
関連する問題