2013-03-17 3 views
0

jquery에서이 코드를 브라우저에 따라 다른 CSS 스타일을 추가하려면이 코드를 사용합니다. 정확한 장소에서 물건을 얻을 수 없기 때문입니다. 사용자가 크롬을 사용할 때 스타일 시트에 링크를 추가하는 코드입니다. 내가 크롬을 사용할 때JQuery 코드가 true가 아닌 경우

<script type= "text/javascript"> 
    $.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase()); 
    if ($.browser.chrome) { 
     document.write('<link rel="stylesheet" href="css/chrome.css" 
             type="text/css" media="screen">'); 
    } 
</script> 

그러나, 다른 코드 (사파리의 스타일 시트에 대한 링크를 추가하는 것과 동일)도 참이 너무 링크를 추가합니다. 그래서 나는 크롬을 사용하여 메신저를 할 때 두 가지 스타일 시트가 있습니다. 두 코드 모두 똑같은 점이 있지만 유일한 차이점은 단어 "크롬"이 "사파리"로 변경된다는 것입니다.

+0

어쨌든 Chrome과 Safari 모두 다른 스타일 시트가 필요한 이유는 무엇입니까? Google은 1500 개가 넘는 웹 사이트를 호스팅하고 관리하지만 사파리 웹 사이트를 사용하지 않습니다. 둘 다 동일한 레이아웃 엔진 (웹킷)을 사용하기 때문에 두 브라우저에 동일한 조정이 적용됩니다. – ClarkeyBoy

답변

1

, 다음 URL을 체크 아웃 : 게다가 https://stackoverflow.com/a/11382806/2177992

당신은 다음과 같이 코드를 구성 할 수 있습니다

if (chrome) 
{ 
    //chrome stuff 
} 
else if (safari) 
{ 
    //safari stuff 
} 

이 방법을 둘 다에서 활성화하지 않습니다 같은 시간.

+0

고맙습니다. 여기에 새로운 메신저와 몇 가지 대답은 일종의 테크니컬했지만 메신저가 도움이 될 것이라고 확신합니다! 이 하나가 문제를 해결했습니다. –

0
"mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.22 (khtml, like gecko) chrome/25.0.1364.172 safari/537.22" 

당신은 사파리 문자열에있는 경우, 그것은 크롬과 Safar 모두 사실 수 있습니다 확인 이렇게하면 크롬 사용자 에이전트 문자열이 거기에 safari있다.

는 더 나은 방법에 대한 이러한 질문은 브라우저

Browser detection in javascript?

Detect version of browser

을 감지 참조 재미있는 관련 기사 : History of the browser user-agent string

0

navigator.userAgent.toLowerCase()safari 포함되어 있기 때문에이 될 것입니다. 내 버전은 mozilla/5.0 (windows nt 6.1) applewebkit/537.22 (khtml, like gecko) chrome/25.0.1364.172 safari/537.22입니다.

http://user-agent-string.info/?Fuas=mozilla%2F5.0+%28windows+nt+6.1%29+applewebkit%2F537.22+%28khtml%2C+like+gecko%29+chrome%2F25.0.1364.172+safari%2F537.22&test=4483&action=analyze에 따르면 문자열의이 부분을 browser signature이라고합니다. 더 나은, 더 정확한 크롬 검출

관련 문제