ページが自動的に初期化されて実行されるjs関数があります。このjsは、最初にページを開いたときに呼び出されて完全に実行されますが、ページをポストバック(asp.netページのリンクをクリック)すると、呼び出されず、関数が壊れます。
これはDefault.aspxの私のjs関数です:
<script type="text/javascript">
function HightLightKeywords() {
var container = document.getElementById("result");
var keywords = new Array();
<%
// This is C# code runs in server side.
for (int i = 0; i < keywords.Count; i++)
{
Response.Write(string.Format("keywords['{0}'] = '{1}';", i, keywords[i]));
}
%>
for (var i = 0; i < keywords.length; i++)
{
var a = new RegExp(keywords[i], "igm");
container.innerHTML = container.innerHTML.replace(a, "<span style='background:#FF0;'>" + keywords[i] + "</span>");
}
}
HightLightKeywords();
</script>
最初にDefault.aspxを入力すると1回だけ実行され、ページのボタンをクリックした後は2回トリガーされません(ポストバック)。
これはクライアントキャッシュに関連していますか?ポストバック時にクライアントキャッシュを防ぐ方法はありますか(いくつかのプロパティを設定することによって?)?
ありがとう