최고의 기술에 대한 일관된 형태,기능,사 모든 웹 브라우저(구글 크롬 등)?

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

  •  09-06-2019
  •  | 
  •  

문제

짧은 버전을 사용:무엇이 가장 깨끗하고 유지 관리 기법에 대한 일관성 프리젠테이션 및 AJAX 기능이 모든 브라우저에서 모두 사용하는 웹 개발자와 웹 개발자에'최종 사용자가?

  • IE6,7,8
  • Firefox2,3
  • 사파리
  • 구글 크롬
  • 오페라

긴 버전:썼 웹 대상으로 응용 프로그램에는 다른 웹 개발자.내가 원하는 내 응용 프로그램을 지원하는 주요 웹 브라우저(플러스 구글 크롬)에서 모두 프레젠테이션 및 AJAX 동작입니다.

기 시작했에 Firefox/방화,다음 추가 조건부 의견에 대한 일관성 있는 스타일링 IE 에서 6and7.다음으로,내 놀랍게도 나는 발견 jQuery 지 않는 동일하게 동작에서는 IE;그래서 나 변경 내 자바 스크립트를 휴대에 FF 고 즉 조건문을 사용하여 적은 순수한 jQuery.

오늘로 시작했 테스트에서는 웹킷 및 구글 크롬과 발견되는,뿐만 아니라 스타일 inconsistant 모두 FF 및 IE 지만,자바 스크립트로 실행하지 않아에서,아마 때문에 구문 오류가 있습니다.내가 예상되는 몇 가지 CSS,작동 하지만 지금은 더 많은 자바 스크립트의 디버깅 할 수있다!이 시점에서,원하는 단계로 생각하기 전에 쓰기 더미의 특별한 경우를 위해 모든 상황입니다.

하지 않고 은 총알이 단지 모범 사례 을 유지하는 것으로 이해할 수 있고 유지 관리할 수으로 가능합니다.내가 선호하는 경우 이 작품이 없는 서버쪽 정보;그러나 있는 경우 장점은,예를 들어 사용자 에이전트 및낸 다음에 다른 파일을 다음과 같은 다른 브라우저를 사용하는 경우 총 이해도 유지 관리하고의 웹 응용 프로그램은 낮습니다.모두에게 감사드립니다!

도움이 되었습니까?

해결책

나는 비슷한 상황에서 작동하는 웹 응용 프로그램은 대상에서 그것은 전문가,을 지원하는 데 필요한 동일한 설정 브라우저의 마이너스 오페라도 있습니다.

일반적인 것을 내가 지금까지 배운:

  • 테스트 자주,많은 대상의 브라우저의 설정을 수정할 수 있습니다.있는지 확인하는 시간을 위해 이 귀하의 개발 일정입니다.
  • 툴킷을 얻을 수 있습니다 당신의 방법을 교 지원하는 브라우저지만,결국 무언가를 놓치에 어떤 브라우저입니다.계획은 약간의 시간에 대한 디버깅하고 연구하고 해결을 위해 특정 브라우저입니다.
  • 당신이 무언가를 필요로 하는 경우에는지에서 툴킷을 찾지 못하고 있습니다 무료로 코드 조각,시간을 투자를 쓰는 유틸리티 기능을 캡슐화하는 브라우저에 따라 달라지는 동작입니다.
  • 자신을 교육에 대해 알려진 브라우저 버그,할 수 있도록 조종의 구현니다.

몇 가지 이상-특정 것을 배웠:

  • 사용 조건에 따라 코드를 사용자 에이전트는 것은 최후의 수단으로만 사용해야하기 때문에,다른 세대의"위 와 같음"이라고 할 수 있는 서로 다른 기능을 가지고 있습니다.대신,테스트에 대한 표준을 준수하는 행동을 처음—예를 들어, if(node.addEventListener)..., 한 다음,일반적으로 사용되는 표준 이외의 함수는 예를 들어, if(window.attachEvent)..., 한 다음,해야 하는 경우에는 보면,사용자 에이전트를 위한 특정 브라우저 유형&버전 번호입니다.
  • 경고 DOM'ready'에 대한 스크립트 액세스가 다른 단지에 대한 모든 브라우저입니다.좋은 도구 키트는 추상적이다.
  • 이벤트 처리에 다른 모든 브라우저입니다.좋은 도구 키트는 추상적이다.
  • 성 DOM 요소들,특히 양식을 컨트롤하는 요소 또는 속성의 까다로운 일이 될 수 있습을 가진 문서입니다.createElement 및 요소입니다.setAttribute.지 않는 동안 표준(고 좀 안 좋아요)사용하여 노드입니다.innerHTML 문자열이 포함된 비트의 HTML 것 같다 더 많은 신뢰할 수 있는 전 브라우저 유형입니다.아직 내가 찾는 툴킷을 사용할 수 있도록하는 요소입니다.setAttribute 추가하려면'이름'양식에서 요소 IE.
  • CSS 차이(그리고 버그)만큼이나 중요한 JS 차이점이 있습니다.
  • 는'코어'자바 스크립트 기능(String,날짜,RegExp,배열 기능)꽤 신뢰할 수 있는 일관된 브라우저에서 특히,상대적 DOM/CSS/윈도우 기능입니다.거기에 몇 가지 작은 기쁨이라는 사실에 언어가 아닌 완전히 다른 모든 플랫폼입니다.:-)

난 정말로 실행하면 크롬-특정 JS 버그,그러나 그것은 항상 최초의 하나 브라우저 나는 테스트입니다.

HTH

다른 팁

크롬을 실제로 조금 다른 사파리,그것은 완전히 다른 javascript 구현 및 문제 보고되었으로품 및 jquery.난 그것에 대해 걱정이 너무 많이한 지금,그것은 여전히 초기에 베타 버전의 브라우저 및 그러한 불일치하는 것으로 처리됩니다.기 버그 보고서.

하나는"은 총알"당신이 고려할 수 있습니다 돌이 Google 웹사 툴킷(GWT).

나는 그것을 믿을 지원하는 모든 브라우저에서 관심이 있고,당신을 제공하는 기능 코드 UI Java 호환 IDE 등 Eclipse.의 이점이 사용할 수 있습 IDE 도구에 대한 코드를 완료하고 컴파일 타임 오류 검사,크게 향상 발전에 큰 규모의 UI 프로젝트입니다.

당신이 사용하는 경우 GWT UI 구성 요소,그것은 숨길 것이 많은 브라우저의 특정 불결함하는 데에서 처리되지만,당신이 컴파일을 만들고 컴팩트한,배포하는 파일에 대한 각 브라우저 플랫폼입니다.이 방법은 당신이 결코 다운로드 IE 별 코드를 보고 있는 경우에 들어 있습니다.당신은 또한 클라이언트 측 stub 생성되는 부하를 적합한 컴파일된 번들의 JS.를 달게 다루고,이러한 파일은 가능하므로 감지 성능은 일반적으로 향상을 위해 돌아온 곳입니다.

이 풍경은 진화에 상당히 수용 할 크로스 브라우저를 개발. jQuery, Prototype 기타 프레임워크 존재를 위한 크로스 브라우저에 자바 스크립트. CSS reset 에 좋은에서 시작하는 일반적인 빈 캔버스에 대한 모든 브라우저입니다. 960 모두 CSS 프레임워크를 도와 함께 사용하여 레이아웃 CSS 그리드 레이아웃 기술 받을 것 같다 매우 인기있는 이러한 일입니다.

로 다른 CSS 단점을 통해 다른 브라우저가 없다,성배기 옵션만 당신을 테스트하는 것입 웹사이트를 통해 다른 브라우저와 사용 멋진 자원 실 가입 우편 목록을 저장 soem 시간입니다.

에서 작업하는 경우 높은 볼륨 생산에 사이트를 사용할 수 있습 같은 서비스 browsercam.com 최종 경기에서 사이트를 확인하기 위해 중단되지 않은 끔찍하게서 어떤 브라우저입니다.

마지막으로,하려고 하지 않게 보고 사이트에서 동일한 모든 브라우저입니다.귀하의 기본 디자인 대상 IE/FF 고 당신이 좋아야 한 적당한 타협에 다른 사람입니다.사 등급 차트 브라우저 하에 좁은 브라우저 지원합니다.

로에 대한 최고의 관행을 시작 사용하여 와이어프레임 빈 종이에나 같은 서비스 Balsamiq 모형.나는 여전히 놀라게 얼마나 많은 개발자들은 시작과 편집기의 와이어프레임지만 전환 년 다시 실현하기 전에 얼마나 큰지 시간을 절약입니다.깨끗한 분리의 레이아웃(HTML),프레젠테이션(CSS)및 동작(자).이 없어야 스타일 요소에서는 HTML,아 presenation 에서 자바스크립트(사용 .addClass('highlight').css({'background-color': 'red'});).

익숙하지 않은 경우의 대담에서 이 약관이 게시물,인터넷 검색을해야 결실을 위해 귀하의 웹 개발 경력과 생산성을 높입니다.

에서 시작하는 경우 기본 리셋 또는 프레임워크 및 차지했을 위한 IE 고 그것은 여전히 모든 기묘할 수 있습을 재검사하기 위하여 다음과 같다:

  • 모든 유효성을 검?CSS and HTML?
  • 모든 링크를 포함한 파일(js,css,etc.).에서 Chrome/Safari,당신의 스타일 시트 링크에 체포,당신의 모든 링크를 끝날 수도 빨간색입니다.(과 함께 할 수있는 뭔가가 기본 404 스타일 나는 생각한)
  • 어떤 이상한 요구 사항은 당신의 js 는 플러그인을 사용할 수 있습니다?(않 css 파일이 오기 전에 js 파일,다음과 같 jquery.thickbox?)

UI 확인 Ext.

그것은 좋은 독립형으로 라이브러리,비록 그것과 함께 사용할 수도 있습 jQuery,YUI,프로토타입 및 GWT.

샘플: http://extjs.com/deploy/dev/examples/samples.html

내가 찾은 네 가지 것들을 개발하는 데 도움이 되는 JavaScript 응용 프로그램:

  • 기능 검색
  • 라이브러리
  • 반복적인 개발을 사용하여 가상화
  • 자바스크립트:최종적인 가이드,더글러스 Crockford&존 레식

기능 검색

리플렉션을 사용하여 요청하면 브라우저가 지원하는 원하는 기능입니다.하려면 무엇을 알고 이벤트를 처리하는 브라우저가 지원할 수 있습 if(el.addEventHandler)W3C 규정 준수 if(el.attachEvent)에 대한 즉-입력,그리고 마침내 다시 가을에서 el.['onSomeEvent'].

한지!

브라우저에 따라 거짓말에 대해 어떤 기능들을 지원합니다.내가 기억하지 못하는 것만으로 문제를 Firefox 구현 DOM 기능이 있지만,false 를 반환하는 경우에 당신을 테스트하는 기능입니다!

라이브러리

때문에 당신은 이미 작업 jQuery,나는 저장하는 설명이다.하지만 경우에 당신은 문제로 실행을 고려할 수 있습니다 유명한 그것은 멋진 크로스 브라우저 호환성.그들은 심지어 함께 작동합니다.

반복적인 발전과 함께 가상화

아마도 내 최고의 조언:실 귀하의 모든 테스트 환경에서의 한다.리눅스 배포판,Big 융합의 무리 RAM.의 복사본을 다운로드하거나 VMWare 의 VMWare 서버 또는 태양의 가상자고 설치하는 몇 가지 운영 체제입니다.이미지를 얻을 위해 Windows XP,Windows Vista,Mac OS X

기본적인 아이디어는 이것:Big 융합 제 4 데스크톱에 매핑됩니다.1 의 이러한 데이 당신의 리눅스,컴퓨터에 다음의 Virtutual Windows XP 상자,후 하나는 비스타,마지막 Mac OS X.후에 쓰는 코드에,당신은 선택으로 가상의 컴퓨터와 확인 작동합니다.Plus 그것은 멋진 보인다.

자바스크립트:최종적인 가이드,더글러스 Crockford&존 레식

이러한 세 가지 소스의 대부분을 제공합 내의 정보에 대한 JavaScript 를 개발하는 데 사용됩니다.최종적인 가이드는 아마도 최고의 기준에 대한 책 JavaScript.

더글러스 Crockford 자바 스크립트 전문가는(내가 싫어 단어)에서 Yahoo.조회는 자신의 시리즈"더글러스 Crockford 의 이론 DOM","더글러스 Crockford Advanced JavaScript","더글러스 Crockford 의 이론 Dom",and","더글러스 Crockford 좋은 부분에서"야후!동영상입니다.

존 레식(당신이 알고있)쓴 jQuery.그의 웹사이트 ejohn.org 재산을 포함 자바 스크립트의 정보 및 파면 주위에 구글에 당신을 찾아가 그의 프리젠 테이션의 번호를 부여하기에는 방어 JavaScript 기술입니다.

...행운을 빕니다!

그래서 그냥 너 하나의 브라우저에 대해 걱정하,크롬 사용하여 동일한 렌더링 엔진으로 사용합니다.그래서 그것을 작동하는 경우에는 사파리,그것은 동일하게 작동합니다.

이 게시물 에 매트 컷츠'블로그입니다.

Chrome 을 사용하는 웹에 대한 렌더링은 동일한 렌더링 엔진으로 애플의 브라우저 사파리,그래서 만약 당신의 사이트와 호환되는 사파리해야에서 Chrome.

업데이트:이처럼 보이는 이제 일자 정보입니다.참조하시기 바랍 Vox 의 의견이 대답합니다.

의 경우 매우 상위 우선 순위를 정확히 일치 프레젠테이션에는 모든 브라우저에 나열된 없는 불균형,당신은 아마에서 찾고 있 a s3 고 코드.

개인적으로,사용 Mootools 의 으로 간단하량 javascript framework.그것은 간단하게 사용하고 지원하는 모든 브라우저상(제외한 크롬,그러나 문제가 하나 있는 것 같아 너무 멀리로 말할 수 있).

또한 작업의 일관성을 유지하기 위해서 브라우저,내가 기능/스타일/행동/등이 있습니다.에서 일을 하나의 브라우저초(일반적으로 Firefox3 을 가진 방화),즉시 확인 그것이 작동하는지 확인하기 위해서 모든 다른 브라우저(을 떠나 IE6 을 위한 마지막).지 않는 경우에,나는 inveset 해결 할 때 바로 그것 때문에,그렇지 않으면 난 시간이 없후(내 경험에서 얻는 일들을 교차하는 브라우저에 대해 50%나의 dev.시간;-))

검증 javascript"좋은 부분을"+브라우저 JsLint.com 그것을 가져올 수있는 능력을 가지고 있습니 자바 스크립트를 다르게 행동에 FF,사파리 등등.

그렇지 않으면 사용하여 표준 및 검증 코드뿐만 아니라 건물에서 기존 기술과 같은 jQuery 를 만들어야 사이트와 동일하게 동작하는 모든 브라우저에서 제외하고 즉-과 마술에 대한 레시피 IE-그냥 버그에 있었다.

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