programing

JavaScript 실행을 중지할 수 있습니까?

projobs 2022. 9. 25. 10:55
반응형

JavaScript 실행을 중지할 수 있습니까?

브라우저를 새로고침하지 않고 JavaScript 기반 실행이 더 이상 발생하지 않도록 JavaScript를 중지 또는 종료할 수 있습니까?

나는 다음과 같은 JavaScript를 생각하고 있다.exit()PHP の php php php php php php php 。

간단한 답변:

throw new Error("Something went badly wrong!");

더 알고 싶다면 계속 읽어보세요.


개발/디버깅을 위해 JavaScript 실행을 중지하시겠습니까?

.debugger;코드 내에서 페이지 실행을 중지하고 브라우저의 개발자 도구를 사용하여 페이지 정지 시점의 상태를 확인할 수 있습니다.

응용 프로그램을 임의로 의도적으로 중지하시겠습니까?

에러로?

모든 것을 멈추려고 하지 말고 코드로 오류를 처리하도록 하세요.★★★에 Exception검색으로 검색하다.번거로운 if/else 블록을 사용하지 않고 코드를 오류 처리 절차로 "점프"할 수 있는 현명한 방법입니다.

이러한 문제에 대해 읽은 후 코드 전체를 중단하는 것이 절대적으로 유일한 방법이라고 생각되는 경우, 애플리케이션의 "루트" 범위를 제외하고는 어디에서도 "잡히지" 않는 예외를 두는 것이 해결책입니다.

// creates a new exception type:
function FatalError(){ Error.apply(this, arguments); this.name = "FatalError"; }
FatalError.prototype = Object.create(Error.prototype);

// and then, use this to trigger the error:
throw new FatalError("Something went badly wrong!");

예외를 검출하는 블록이 없는지 확인합니다. 경우 예외를 다시 던지도록 블록을 수정합니다.

catch(exc){ if(exc instanceof FatalError) throw exc; else /* current code here */ }

작업이 완료되거나 임의 이벤트가 발생할 때?

return;현재 함수의 실행 흐름을 종료합니다.

if(someEventHappened) return; // Will prevent subsequent code from being executed
alert("This alert will never be shown.");

★★★★★★return;기능 내에서만 동작합니다.

둘 다...

비동기 코드를 정지하는 방법도 알고 싶을 것입니다.및 로 끝납니다.마지막으로 XHR(Ajax) 요청을 중지하려면xhrObj.abort()method (jQuery에서도 사용 가능)

JavaScript 오타 : D (여기서 틀을 벗어나 생각)를 만들 수 있습니다.

thisFunctionDoesNotExistAndWasCreatedWithTheOnlyPurposeOfStopJavascriptExecutionOfAllTypesIncludingCatchAndAnyArbitraryWeirdScenario();

또는 다음과 같습니다.

new new

다음과 같은 것이 동작할 수 있습니다.

function javascript_abort()
{
   throw new Error('This is not an error. This is just to abort javascript');
}

여기서부터:

http://vikku.info/codesnippets/javascript/forcing-javascript-to-abort-stop-javascript-execution-at-any-time/

하고 있습니다.

setTimeout(function() { debugger; }, 5000)

이렇게 하면 UI와 5초 동안 상호 작용한 후 정지할 수 있습니다.제가 사용한 시간은 스타일 변경을 위해 커스텀 툴팁을 표시해야 할 때입니다.

아니요.

예외를 발생시키더라도 현재 이벤트 루프만 중지됩니다.setTimeout 이벤트핸들러 또는 DOM/XMLHttpRequest 이벤트핸들러에 전달된 콜백은, 그 시각이 도래해도 동작합니다.

사용하고 있다

return false;

JavaScript를 중단하고 싶은 경우.

경우,이할 때마침, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때, 때.return;그러나 이 함수가 호출된 부모 함수의 실행을 중지하지는 않습니다.

요.return적어도 그 기능은 실행을 중지합니다. 사용해도 요.throw ''에러를 발생시켜 현재의 프로세스를 정지합니다.하지만 이게 모든 걸 멈추진 않을 거야 setTimeout ★★★★★★★★★★★★★★★★★」setInterval는 지연된 기능과 시간 간격으로 실행되는 기능을 각각 만들 수 있습니다.그것들은 계속 달릴 것이다.자바스크립트

오래된 질문인 것은 알지만, 저는 이것을 하고 싶었고, 제 의견으로는 약간 더 나은 정답을 발견했습니다.일시적으로 오류 메시지를 억제하고 나중에 set Timeout을 사용하여 다시 활성화합니다.

setTimeout(function() {
    window.onerror = function(message, url, lineNumber) {  
        return false;
    };
}, 50); // sets a slight delay and then restores normal error reporting
window.onerror = function(message, url, lineNumber) {  
    return true;
};
throw new Error('controlledError');

JavaScript 함수 내에서 변수를 정의하고 함수를 실행하지 않으려면 이 변수를 1로 설정하고 중지하려면 0으로 설정합니다.

var execute;
function do_something()
{
if (execute == 1)
{
// execute your function
}
else
{
 // do nothing
}
}

이 과정은 지루하지만 Firefox에서는 다음과 같습니다.

  1. 빈 탭/창을 열고 현재 페이지에서 스크립트의 새 환경을 만듭니다.
  2. 실행할 스크립트로 새 환경을 채웁니다.
  3. 새 환경에서 스크립트 활성화
  4. 그 새로운 환경을 닫다(즉, 죽인다)

브라우저 새로고침 없이 JavaScript 기반 실행이 더 이상 발생하지 않도록 하기 위해 JavaScript를 중지 또는 종료합니다.

주의:

  • 스텝 4에서는 해당 환경에서 JavaScript 실행만 중지되며 다른 창의 스크립트는 중지되지 않습니다.
  • 원래 페이지는 새로고침되지 않지만 새 탭/창에 스크립트가 로드됩니다.
  • 탭/창이 닫히면 해당 환경의 모든 것(잔여, 부분 결과, 코드 등)이 사라집니다.
  • 결과를 보존하려면 상위 창 또는 다른 창으로 다시 마이그레이션해야 합니다.
  • 코드를 다시 실행하려면 위의 단계를 반복해야 합니다.

다른 브라우저에서는 다른 규칙을 사용하고 있습니다.

언급URL : https://stackoverflow.com/questions/9298839/is-it-possible-to-stop-javascript-execution

반응형