인쇄 스타일시트가 유효한지 Javascript를 통해 어떻게 감지할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/344973

  •  19-08-2019
  •  | 
  •  

문제

웹 페이지의 스타일시트 인쇄 중에 대체 동작을 갖고 싶습니다.다음과 같은 내용이 있습니다.

이 페이지가 인쇄 된 경우 SWFOBJECT에 전화하여 .swf를 소환하여 존재합니다.플래시가 교체 할 HTML을 남겨 두십시오.

나는 알려진 요소를 화면에는 존재하지만 인쇄 스타일시트에는 존재하지 않는 알려진 스타일로 설정하는 것과 같은 작업을 시도했습니다.그러나 Javascript를 통해 "스타일"을 얻는 것은 계산된 스타일.

요약:크로스 브라우저 방식으로 어떤 스타일시트가 적용되는지 알 수 있습니까?

도움이 되었습니까?

해결책

프린터 친화적 인 페이지를 볼 때 인쇄 스타일 시트가 사용된다고 혼란스러워하는 것처럼 들리지만 그렇지 않습니다. 사용자가 실제로 페이지를 프린터로 보낼 때까지 인쇄 스타일 시트가 적용되지 않습니다. 이 시점에서 실행될 JavaScript가 이미 완료되었습니다.

당신이하고 싶은 것은 swfobject를 div 컨테이너 안에 넣고 컨테이너를 display:none; 인쇄 매체를 위해.

다른 팁

JavaScript를 사용하여 문서의 스타일시트에 액세스한 다음 '인쇄' 스타일시트가 활성화되어 있는지 확인할 수 있습니다.어떤 CSS가 활성화되어 있는지 확인한 후에는 콘텐츠를 관리할 수 있습니다.

그만큼 getActiveStyleSheet 함수는 다음과 같습니다:

function getActiveStyleSheet() 
{
    var i, a;

    for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) 
    {
        if (a.getAttribute("rel").indexOf("style") != -1
         && a.getAttribute("title")
         && !a.disabled) 
            return a.getAttribute("title");
    }

    return null;
}

여기에서 코드를 찾을 수 있습니다: http://www.alistapart.com/articles/alternate/.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top