2016-06-21 2 views
0

나는 내가 어떤 브라우저 나 OS가 실행되는 감지하고 문, 등, 모바일 경우, 설정 "만일"이 가지고있는 이러한 특성의 종류를 만드는 CSS에 통합 할 수 있습니다은 .js 파일이 있습니다. 그래서 특정 자바 스크립트 함수가 창이나 본문이로드 될 때 플랫폼이 모바일 인 경우에만 실행되도록하고, 그렇지 않으면 기본 함수를 실행합니다. 나는 내가 믿는,이 작업을 수행 할 수있는 능력을 가지고 있지만, 나는 몸과 모바일되는 플랫폼에 관한 if 문을 설정하기 위해 CSS를 통해 신체 {}에 온로드 매개 변수를 설정하는 방법을 찾을 수없는 것. CSS에서 onload를 변경하는 방법이 있습니까?CSS를 통해 요소의 onload를 설정하는 방법이 있습니까?

다음은 브라우저 선택입니다 : http://www.dreamquest.io/css_browser_selector.js

그리고 여기에 내가 같이 할 수있는 CSS를 원하는 것 무엇의 예입니다.

.mobile body { 
    onload = "javascript:setBackgroundMobile"; 
} 

편집 : 좋아, 그래서, 내 자바 스크립트에이 코드를 추가 한 : 모두 내 안드로이드 폰에

document.addEventListener("DOMContentLoaded", function(event) { 
    if (window.screen.availHeight < "600") { 
    setBackgroundMobile(); 
    } 
    else if (window.screen.availHeight >= "600") { 
    setBackground(); 
    } 
}); 

을하고, 내 Windows PC에서 다른 IS 성공적으로 실행. 내 생각에 휴대 전화에서 내 화면 회전이 처음에 수직이기 때문입니다. 그냥 확인, 예, 사이트가 세로에로드되면 두 번째 if를로드하고, 가로에 있으면 첫 번째를 수행합니다. 어느 것이 문제지만, 그것은 whatevs입니다. 나는 뭔가를 알아낼 것이다. 정보를 가져 주셔서 감사합니다.

+0

사용'미디어 queries' – Rayon

+0

*는 CSS를 통해 몸 {}에 온로드 매개 변수 * ---를 설정 ????? 당신이 이미 js 파일을 가지고 있다면 당신이 원하는 것을 나에게 불분명하게한다. – DaniP

+0

코드를 입력하십시오. –

답변

2

아니, CSS와 그렇게 할 수있는 방법이 없습니다.

CSS 스타일을 관리합니다. 선택자에서 사용할 수 있기 때문에 HTML 속성을 알고 있지만 그게 전부입니다. CSS는 그 목적을 위해 설계되지 않았기 때문에 CSS를 만들거나 수정할 수 없으며 결코 그렇게 할 수 없습니다.

+0

감사합니다. 그때 해결 방법이 있는지 궁금합니다. – resriel

+0

위에서 제공 한 브라우저 선택기를 살펴보면, window.onload와 관련된 if 문을 설정하여 사용자가 어느 플랫폼에 있는지 감지 할 수 있습니까? 나는 javascript 나 jquery를 전혀 잘 모른다. 그리고 .js 파일은 짧지 만 이해하기가 매우 어렵다. – resriel

+1

@resriel, 문제의 핵심은 페이지 초기화에서 코드를 실행하기 위해'onload' 속성을 사용하려는 것입니다. 우리는 실제로 몇 년 전에 그 일을 중단했습니다. 왜냐하면, 당신이 깨달은 것처럼, 그것은 아주 원시적 이었기 때문입니다. [JSContentLoaded] (https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded) 이벤트 (일반 JS 또는 툴킷을 통해)에 함수를 바인딩하고 모바일 사용자를 확인해야합니다 거기 대리인. –

관련 문제