IE 7でこのエラーの原因となっているものがChromeで動作していないようです。インターネットエクスプローラで私のページを読み込むと、 "このスクリプトメッセージの実行を停止する"というエラーが表示されます。何か案は?IE 7 jQueryを使用して「このスクリプトの実行を停止する」エラー
$(document).ready(function() {
var icons = {
header: "ui-icon-circle-plus",
headerSelected: "ui-icon-circle-minus"
};
$('.ui-accordion').accordion({
active: false,
collapsible: true,
autoHeight: false,
icons: icons
});
$("a").click(function (event) {
event.stopPropagation();
});
$('.requirementCheckBox').click(function() {
getReq();
});
});
function getReq() {
var componentList;
var selected = $(":checkbox:checked");
if(selected.length ==0){
$('#requirements_table_wrapper').remove();
}
else {
$.each(selected , function(i, n){
if(i == 0){
componentList = n.value;
}
else{
componentList += ',' + n.value;
}
});
$.getJSON("addRequirements/GetRequirements/?componentList=" + componentList, function (data) {
$('#requirements_table_wrapper').remove();
var reqString = '<table id="requirements_table"><thead><tr><th>Requirement ID</th><th>Requirements</th><th>Reference</th></tr></thead><tbody>';
for (var i = 0; i < data.length; i++) {
reqString += '<tr><td>'+ data[i].reqID + '</td><td>' + data[i].reqText + '</td>' + '<td>' + data[i].reqReference + '</td></tr>';
}
reqString += '</tbody></table>';
$("#requirementsDiv").append(reqString);
$("#requirements_table").dataTable({
"bJQueryUI": true,
"bPaginate": false,
"bRetrieve": true,
"oLanguage": {"sSearch" : "Filter Requirements:"}
});
});
}
}
私はすぐに任意の無限ループを発見しませんが、多分私はあまりにも長い間、それを見つめてきました。
** UPDATE 問題はアコーディオンと思われます。一度除去されるとIEはページを正常に読み込みます。
data.lengthの値は何ですか?それとも変数ですか? –
'.append'の代わりに' $( "#requirementsDiv")。html(reqString);を試してください。特に、divが追加される前に空の場合は、これを使用することをお勧めします。 –
私は同様の質問をしました。私もアコーディオンを使用していましたので、http://stackoverflow.com/questions/6006406/what-can-i-do-to-optimize-my-ajax-application-for-ie7-ie8-それが助けになるならば、順序通りに避けてください! –