2011-05-05 6 views
17

최근에 아약스를 많이 사용하고 있습니다. 이 방화범을 통해 스크립트를 다시로드하는 방법

를 작동하는 경우 내가 원하는 무엇 Ctrl + F5와 해당 페이지에 대한

  • 다시로드 페이지를

    1. 로드 페이지
    2. 변화 몇 가지 스크립트를 볼 : 시나리오 나는 이상과 이상 반복하는 마크 업이 동일하기 때문에 전체 페이지가 아닌 스크립트 만 다시로드하도록 firebug에 지시합니다. 어쨌든 이걸 할거야?

  • +0

    직접적으로, 아니요. –

    +0

    훌륭한 질문. 실시간 저장. – kta

    답변

    7

    첫째을 시도하고 테스트의이 종류를 최소화 할 것 같습니다. 원자/DRY code 및 단위 테스트를 사이트/페이지로 접기 전에 작성하십시오. Firebug 콘솔에서이 작업을 빠르게 수행 할 수 있습니다.

    다음, 당신은 세트 간격 또는 이벤트 리스너를 다시로드하는 JS는, 당신은 그 간격을 지우고 테스트중인 JS를 다시로드하기 전에 해당 리스너 바인딩을 해제 할 것인지. 이는 익명의 간격과 이벤트 핸들러가 동사임을 의미합니다.

    필요에 따라 clearInterval(), removeEventListener().unbind()을 호출하는 JS 파일을 만듭니다.

    그럼 당신은 방화범의 콘솔이 같은 코드를 실행할 수 있습니다

    function addJS_Node (text, s_URL) 
    { 
        var scriptNode      = document.createElement ('script'); 
        scriptNode.type      = "text/javascript"; 
    
        if (text) scriptNode.textContent = text; 
        if (s_URL) scriptNode.src   = s_URL; 
    
        document.head.appendChild (scriptNode); 
    } 
    
    addJS_Node (null, 'Path_to_JS/ResetTimersAndEvents.js'); 
    
    addJS_Node (null, 'Path_to_JS/JS_Under_Test.js'); 
    // etc. 
    
    0

    Firefox는 현재이 작업을 수행 할 방법이 없습니다.

    마크 업 Ctrl + F5 뭐가 잘못 다음 같은 경우? 양식 필드에서 데이터를 잃고 싶지 않다고 생각하십니까? 이것은 다시 스크립트를 다시로드하고 양식 필드가 변경 될 때 발생하는 이벤트가있는 스크립트의 경우 이러한 문제가 다시 발생합니다.이 이벤트는 결코 실행되지 않으며 페이지가 표시되어서는 안되는 상태가 될 수 있습니다.

    자동으로 미리 정의 된 값으로 버튼 클릭 양식을 기입 할 수 있도록 일부 브라우저 플러그인이 있습니다

    이 단지 스크립트를 다시로드에 좋은 대안이 될 수 있습니다. 이 파이어 폭스 플러그인, 그냥 https://addons.mozilla.org/en-US/firefox/addon/autofill-forms/

    +0

    아니요, 양식 필드에 문제가 없습니다 ... 코딩의 결과를보고 싶을 때마다 f5를 누르기에는 너무 느립니다. – Marko

    +0

    Ctrl + F5를 복용하는 데 얼마나 걸립니까? – Gavin

    +0

    나는 당신의 요점을 보지만 어떤 종류의 워크 플로가 있고 5 단계 테스트를하고있는 상황을 상상해보십시오. 나는 스크립트에서 뭔가를 변경 했으므로 5 단계에서 결과를보고 싶습니다 ... 그러고 싶습니다. 스크립트를 다시로드하고 단계 5를 수행하여 지금 작동하는지 확인하고 단계 5를 수행 할 때까지 전체 페이지를 다시로드하고 단계를 거치지 않으려 고합니다. ;) – Marko

    4

    내가 XRefresh 도움이 될 것 같아요. 로컬 폴더의 변경 사항을 모니터링하고 전체 페이지를 다시로드하지 않고 변경 한 후 (변경 후) 다시로드합니다. 자신의 site faq

    :

    XRefresh은 전체 페이지를 다시로드하지 않고 업데이트 된 버전으로 외부로 링크 된 JS 파일을 대체 할 수 있습니다.

    자주 묻는 질문 (FAQ) 페이지에서 자세히 읽을 수있는 제한 사항이 있습니다 (주변을 둘러 볼 방법이 없습니다).

    는 아직도 전혀 옵션이없는 것보다 그것의 더 나은 생각합니다.

    희망이 도움이됩니다.

    3

    정말 필요한 것은 자동 테스트입니다. 테스트를 작성한 다음 코드를 변경 한 후 테스트를 다시 실행하십시오.

    파이어 폭스에서이 작업을 수행하는 가장 좋은 방법은 webdriver입니다.

    관련 문제