2009-10-01 5 views
2

내 웹 응용 프로그램에서 YUI DataTable을 사용하고 있습니다. 내 DataTable이 데이터를 가져 와서 다른 DataTable로 이동하면 '이 스크립트 실행을 중지 하시겠습니까?'라는 메시지가 계속 나타납니다. 확인 메시지. 이 메시지를 피하기를 원하며 DataTable을 닫 자마자 스크립트 실행을 중단하고 싶습니다. 제안을 해주십시오. 자세한 정보가 필요하면 알려주십시오. DataTable을 채우기 위해 JavaScript에서 webservice 호출을 만들고 있습니다. 나는 그것이 프롬프트를 일으키는 것으로 의심합니다. .; ShowDialog를 (DisambigPanel, ReturnElement) document.getElementById를 ("DisambigList") (초점) : 나는 웹 서비스 호출을 실행에서보기YUI DataTable - '이 스크립트 실행 중지'를 피하는 방법 메시지 확인

DataTable의 스크립트를 중지 할 수있는 방법을 필요로

DisambigDataSource = new YAHOO.util.DataSource(DisData[CurDisType].URL); 
DisambigDataSource.responseType = YAHOO.util.DataSource.TYPE_XML; 
DisambigDataSource.responseSchema = {resultNode: DisData[CurDisType].Node, fields: DisData[CurDisType].Fields};   

var TableConfig = 
{ 
    sortedBy: {key:DisData[CurDisType].SortKey, dir:"asc"}, 
    selectionMode: "single", 
    initialRequest: BuildRequestString(), 
    scrollable: true,   
    width: "940px", 
    height: "340px", 
    renderLoopSize: 20 
}; 

YAHOO.widget.DataTable.MSG_LOADING = "<img src=\"/Images/Wait/DataGrid.gif\" alt=\"Loading animation\"/> Loading..."; 
YAHOO.widget.DataTable.MSG_EMPTY = "No results."; 
DisambigTable = new YAHOO.widget.DataTable("DisambigList", DisData[CurDisType].ColumnHeaders, DisambigDataSource, TableConfig); 

YAHOO.util.Event.removeListener("DisambigList", "keydown"); 
YAHOO.util.Event.addListener("DisambigList","keydown",DisambigKeyDown); 

DisambigTable.subscribe("initEvent",DisambigLoad); 
DisambigTable.subscribe("cellDblclickEvent",DisambigSelect); 
DisambigTable.subscribe("rowSelectEvent",DisambigSelectionChange) 

ShowDialog를 함수 (대화, returnFocus) { 하면 oldFocus = returnFocus; VisibleDialog = 대화 상자;

dialog.show() 

var x = new YAHOO.util.KeyListener(document, { keys:27 }, { fn: HideDialog, scope:dialog, correctScope:true }); 
x.enable(); 
dialog.cfg.queueProperty("keylisteners", x); 

}

기능 HideDialog() (VisibleDialog가) { // 현재 대화 상자 VisibleDialog.hide 숨기기 경우 하나 볼 경우 가 {
//이 (현재 대화 숨기기); VisibleDialog = null;

if (OldFocus) 
{ 
    OldFocus.focus(); 
    OldFocus = null; 
} 

}

}

스크립트가 너무 많은 시간을 가지고, 또는 무한 루프에있는 경우 지금까지 내가 기억하는, 프롬프트의 종류는 파이어 폭스에 의해 표시됩니다
+1

몇 가지 코드를 표시 하시겠습니까? – TheVillageIdiot

답변

1

음. 사용하고있는 브라우저가 아닌 다른 브라우저에서 작동하는지 확인해보십시오.

+0

IE 7에서이 프롬프트가 표시됩니다. – Naga

+2

yah - 메시지가 아니라 문제를 해결하십시오! – Antony

+0

@Naga - IE7이 메시지를 발행하거나 유이가 발행하는 것처럼 보입니까? – aviraldg