ここで解決された同様の問題がいくつか見られましたが、まだ解決策を見つけることができませんでした。
私は .NET MVC プロジェクトを持っています。一部の PC では、.load() 呼び出しの後に JavaScript を実行できません。
私は持っている:
- ページの RealtimeAlarms
- ascx コンポーネント AlarmsList
- JavaScript ファイル Alarms.js
RealtimeAlarms は必要なすべての js をロードし、次を使用して ascx コンポーネントをレンダリングします。
<script type="text/javascript" src="<%: ResolveUrl("~/Scripts/Alarms.js") %>"></script>
....
....
<input type="text" id="Like" />
<img alt="Filter" src="<%: ResolveUrl("~/Content/Images/Search.png") %>" class="clickable" onclick="FilterAlarms()" />
....
....
Html.RenderAction("AlarmsList", "Alarms", new {Like = ""});
Alarms.js は次のようになります。
function FilterAlarms() {
var data = {};
data.Like = $('#Like').val();
$("#AlarmsDiv").html("");
$("#AlarmsDiv").load(BaseUrl + "Alarms/RealtimeAlarms #content", data, function (responseText, textSatuts, XMLHttpRequest) { });
}
function ShowUsers(id)
{
....
}
私の RealtimeAlarms コンポーネント:
foreach(var alarm in ViewData.Model)
{ %>
<li onclick="ShowUsers(<%: alarm.Id %>)"><%: alarm.Description %></li>
<% } %>
ページを最初にロードすると、常にうまく機能します。ShowUsers() は常に機能します。
私の問題は、[フィルター] をクリックしたときに始まります。FilterAlarms() は常に正しいリストを返します。一部の PC では、ShowUsers() が機能しなくなり、呼び出されなくなりました。
同じブラウザを使用すると (Chrome と IE9 で試しました)、一部の PC では ShowUsers() が常に正常に動作し、他の PC では FilterAlarms() の後に動作が停止します。同じデータを使用します。
すべての提案に感謝します。