2014-11-22 2 views
0

Javascript는 실제로 나의 장점이 아니므로이 문제를 해결하기 위해 도움을 얻으십시오.IF OR 문 var = true, 다음에 문서를 작성하십시오

IE & 크롬을 대상으로하는 부드러운 스크롤 스크립트를 사용해야합니다. 요즘에는 UserAgent 검사를하는 것이 거의 쓸데없는 일이며, 브라우저 기능 탐지의 틀에 부합하지 않는다는 것을 알고 있습니다. 또한 조건부 주석으로 IE 10을 타겟팅 할 수 없으므로 일부 브라우저 해킹을 시도합니다.

브라우저의 특정 버전이나 버전 범위를 대상으로하는 변수를 제공하는 browserhacks.com 리소스를 발견하여 이러한 브라우저에 적용된 포괄적 로직을 만들 수 있습니다.

그래서 바로 시간에, 나는이 사용하고 있습니다

내가 추정하고 있습니다

var isIE = document.all && window.XMLHttpRequest; 
var isIE = document.body.style.msTouchAction !== undefined; 

IE

를 들어 크롬

var isChrome = !!window.chrome && !!window.chrome.webstore; 

들어 난 그냥 경우의 "를 작성해야 "OR"문을 모두 사용하여 참여하려면 다음을 수행하십시오.

document.write('<script src="js/smooth-scrolling.js"><\/script>'); 

이 내가 가진 것입니다 : 이것은 IE & 크롬에 부드러운 스크롤을 적용하기위한 작업

<script type="text/javascript"> 
    var isChrome = !!window.chrome && !!window.chrome.webstore; 
    var isIE = document.all && window.XMLHttpRequest; 
    var isIE = document.body.style.msTouchAction !== undefined; 
    document.write('<script src="js/smooth-scrolling.js"><\/script>'); 
</script> 

뿐만 아니라 파이어 폭스에 적용되고, 내가 원하지 않는 파이어 폭스가 이미 매우 부드러운 기본이 있기 때문에 그 스크롤은 스크립트에서 실제로 스크롤 성능을 저하시킵니다.

그때 나는 (내가 확신 미약 한 시도) 시도 :

<script type="text/javascript"> 
    if (var isChrome = !!window.chrome && !!window.chrome.webstore) { 
     document.write('<script src="js/smooth-scrolling.js"><\/script>') 
    } 

    if (var isIE = document.all && window.XMLHttpRequest) { 
     document.write('<script src="js/smooth-scrolling.js"><\/script>') 
    } 

    if (var isIE = document.body.style.msTouchAction !== undefined) { 
     document.write('<script src="js/smooth-scrolling.js"><\/script>') 
    } 
</script> 

을 ... 그리고 그건 그냥 모든 것을 파괴. 각 브라우저를 치지 않고 스크립트를 실행 시키려고합니다.

+1

'if' 문을 쓰는 방법을 묻습니다. 연구 노력을 보이지 않습니다. – meagar

+0

그래서 무엇을 시도 했습니까? – hereandnow78

+0

나는이 질문에 너무 간단한 질문이라고 생각하기 때문에 처음으로 부정적인 피드백을 받았다고 상상해보십시오. – ornous

답변

1

사용하지 마십시오. document.write(); 새 스크립트 요소를 작성하고 DOM을 추가해야합니다.

var isChrome = !!window.chrome && !!window.chrome.webstore; 
if(isChrome){ 
    var s=document.createElement('script'); 
    s.src='source_to-Your_JS.js'; 
    document.head.appendChild(s); 
} 
+0

이 시도해 주겠다, 감사합니다 – lsargent

+0

이것은 언어에 익숙하지 않은 것에 대한 나의 코합을 파열시키지 않으면 서 곧바로 행동 가능한 대답을 제공해 주셔서 감사합니다. – lsargent