2009-06-15 1 views
0

DOM 요소를 수정하기 전에 IE 5.5, 6 및 7에서이를 이해합니다. 그것은 "닫히고", "작업이 중단되었습니다."오류가 발생합니다. 자세한 내용은 http://www.clientcide.com/code-snippets/manipulating-the-dom/ie-and-operation-aborted/입니다.내 ASP.NET 응용 프로그램에서 페이지가로드되기 전에 코드 숨김에서 스크립트를 등록하면 IE에서 "작업 중단됨"오류가 발생합니다.

ASP.Net 응용 프로그램에서 page_load 이벤트 동안 페이지에 클라이언트 스크립트 블록을 등록합니다. (이 코드를 page_loadcomplete 이벤트 또는 page_prerender 이벤트로 이동 시키려고했습니다. 나는 문제없이 내 페이지에서 다른 AJAX 포스트 백에서이 동일한 코드를 사용하고

// Checks if the handler is a Page and that the script isn't already on the Page 
if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("blockUIAlert")) 
{ 
    ScriptManager.RegisterClientScriptBlock(page, typeof(ScriptUtilities), 
     "blockUIAlert", script, true); 
} 

:

여기에 (아주 기본) 내 코드입니다. 이 오류는 페이지가로드 될 때이 코드가 호출되는 경우에만 발생합니다.

DOM 요소를 닫은 후에이 코드를 호출하려면 어떻게해야합니까? 사용자가이 작업을 수동으로 시작해야하는 것을 원하지 않습니다. 특정 서버 측 조건이 충족되면 페이지가로드되는 즉시이 코드가 실행되기를 바랍니다.

답변

1

jQuery를 사용하는 경우 DOM로드가 완료되면 코드를 실행하는 js 이벤트 수신 기능이 있습니다. 나는 MS Ajax 라이브러리가 비슷한 기능을 가지고 있다고 확신한다.

jQuery Examples

0

같은 목적으로 page_load 이벤트를 사용합니다.

0

서버 측에서 스크립트를 첨부하는 이벤트는 중요하지 않습니다. 귀하의 문제는 전적으로 고객 측의 것이며 스크립트를 제공하지 않았습니다. 그러나 onload 이벤트에 대한 함수를 호출하면 작동하는 것 같아요. 예를 들어 <body onload='yourFunction()'>

+0

글쎄,이 동일한 스크립트는 코드 숨김의 다른 부분 (즉, 양식 포스트 백)에서 호출 할 때 작동하므로 _ 호출 할 때 문제라고 생각했습니다. clientside에서 스크립트를 호출 할 수는 있지만 특정 서버 측 기준에 따라 스크립트를 호출하고 싶습니다. – Pandincus

1

은 어쩌면 이것은 당신이 찾고있는 대답이다.

나는 작업이 중단되었습니다. 오류가 발생했는데 왜 그런지 알았지 만 DOM 요소가 '닫히기'전에는 수정하지 않았다고 100 % 확신했습니다. ASP.NET AJAX 클라이언트 측 프레임 워크에 버그가 있음을 알 수 있습니다. 클라이언트 측 프레임 워크를 수정해야했습니다. 게시 한 질문을 참조하십시오. Internet Explorer's Operation Aborted and Latency Issue

또한 RegisterClientScriptBlock을 사용하고있는 것으로 나타났습니다. ScriptManager.RegisterStartupScript (...)를 사용해보십시오.

관련 문제