14 列の JQuery Editable Datatable を持つ ASP.NET MVC ページがあります。クライアント側の計算を行い、そのテーブルのすべての行に適用するためのボタン (結果を適用しない) があります。
このボタンをクリックすると、4行ごとに計算を適用した後、この「実行中のスクリプトの停止」メッセージが表示されます。
設定を確認しました。[インターネット オプション] の [詳細設定] タブで、[スクリプトのデバッグを無効にする (Internet Explorer)] オプションがオンになっています。そして、「スクリプトエラーに関する通知を表示する」のチェックを外します。
Internet Explorer 8 を使用しています。現在、IE9 では発生しません。しかし、これはサーバーであるため、IE9 にアップグレードすることはできません。
私は調査を行い、これら2つのオプションを試しましたが、何も機能しませんでした.
例(1): http://www.codeproject.com/Tips/406739/Preventing-Stop-running-this-script-in-Browsers
誰もがこの問題を抱えていて、どんな提案も大歓迎です。
これは、スクリプト メッセージをスローしている実際のコードです。
for(i < iTotalRecords;i++)
{
var row = oTableAuditLines.fnGetData(i);
oTableAuditLines.fnUpdate("NF",i,1);
UndoHCPCS(row,i);
UndoHCPCSModCodes(row,i);
UndoLineUnitCount(row,i);
oTableAuditLines.fnUpdate("", i, 6); //Reset Denial Reason Code
UndoNonCoveredCharges(row,i);
CalculateAmountPaidAtLine(row,i);
CalculateEstimatedRecoveryAmountAtLine(row,i);
}
UpdateSummaryLine();
UpdateSummaryLineReasonCode();
Example(2) のサンプル コードを参照して、次のようにコードを変更しましたが、引き続き Script メッセージが表示されます。
//この関数は、スクリプト実行メッセージを回避するためのものです
RepeatingOperation = function(op, yieldEveryIteration)
{
var count = 0;
var instance = this;
this.step = function(args)
{
if (++count >= yieldEveryIteration)
{
count = 0;
setTimeout(function() { op(args); }, 1, [])
return;
}
op(args);
};
};
function ApplyNoFindings()
{
var i = 0;
var ro = new RepeatingOperation(function()
{
var row = oTableAuditLines.fnGetData(i);
oTableAuditLines.fnUpdate("NF",i,1);
UndoHCPCS(row,i);
UndoHCPCSModCodes(row,i);
UndoLineUnitCount(row,i);
oTableAuditLines.fnUpdate("", i, 6); //Reset Denial Reason Code
UndoNonCoveredCharges(row,i);
CalculateAmountPaidAtLine(row,i);
CalculateEstimatedRecoveryAmountAtLine(row,i);
if (++i < iTotalRecords)
{
ro.step();
}
else
{
UpdateSummaryLine();
UpdateSummaryLineReasonCode();
}
}, 100);
ro.step();
}
ここで何が間違っていますか?