2012-09-26 2 views
0

window.print() 메서드가 재정의되었는지 (JavaScript 및/또는) FirefoxDriver를 사용하여 테스트하는 방법은 무엇입니까?window.print()가 재정의되지 않았는지 테스트하는 방법은 무엇입니까?

은 이와 같은 페이지에있는 모든 인쇄 버튼을 비활성화 할 수 있습니다 :이

window.print = function() { alert("Bazinga") } 

정상적인 "인쇄"다음과 같은 링크는 더 이상 작동하지 않습니다 :

<a onclick="window.print()">....</a> 

window.print() 호출이 인쇄 대화 상자를 실행하는지 확인해야합니다.

FirefoxWebdriver에 JavaScript를 삽입 할 수 있습니까?

if(window.print.toString().indexOf('[native code]') > -1) { 
//native 
} 
+0

궁금한 점이 있지만 어떻게 적용 할 계획입니까? – Neil

+0

@Neil 당신은 이걸로 자바 스크립트를 삽입하는 방법을 의미합니까? – d0x

+0

아니,이 질문에 대한 답변이 어떻게 당신에게 도움이 될 것입니까? 이 응용 프로그램을 상상하는 데 어려움이 있습니다. 그게 전부입니다. – Neil

답변

2

내가 생성 한 fiddle 루카의 대답과 크리스토프의 의견에 따라 : window.print 이후

+0

@ 루카 덕분에 네이티브 함수를 감지 할 수 있습니다. –

3

은 당신이 할 수있는 기본 기능입니다. 이 함수는 IE6에서도 기본 인쇄 대화 상자를 감지합니다.

function isNativePrint() { 
    var isNative = false; 
    try { 
     if (window.print.toString().indexOf('[native code]') > -1) isNative = true; 
    } catch (e) { 
     isNative = true; 
    } 
    return isNative; 
} 
+0

좋은데, IE는 네이티브 함수에서'toString()'을 지원하지 않는 것 같습니다. 그러나'window.print'는 나를 위해 원하는 결과를 낳았습니다. – Christoph

관련 문제