오늘 시골 다녀오면서 모바일 브라우저를 죽 설치해 봤는데요... 블록

오늘 인기있다는 모바일 브라우저를 안드로이드에 깔아서 죽 사용해 봤는데요 쓸만한 모바일 브라우저가 거의 없습니다. 하나같이 똑같은 소스를 적용해서 그런가 버그 증상이 똑같습니다. 크롬만 기본 브라우저 버그 증상과 다른 버그 증상이 있었는데 이것도 업데이트 버젼이 문제가 있어 "업데이트 제거" 를 한 후 이전 버젼으로 돌려서 지금 사용하고 있습니다.

다시 말해 안드로이드 기본 브라우저를 비롯한 대부분의 브라우저는 베가R3에서 테스트 했을 때, 예를 들어 제로보드 f2갤러리 에디터 창의 내용을 클립보드로 카피한 후 다른 곳으로 붙여넣기 하면 내용이 잘리는 현상이 있습니다. 그래서 글을 쓰고 관리하는 사람 입장에서는 매우 불편하기 때문에 크롬을 쓸 수밖에 없는데 크롬의 새버젼은 또 자바스크립트 지원 문제로 제로보드 f2갤러리 3.0 게시판 에디터 창이 깨지거나 이름 레이어가 좌상단으로 몰리는 문제가 있습니다. 썸네일 이미지도 좌상단으로 몰리구요.

아직까지 변변한 모바일 브라우저가 없는 상황에서 PC의 IE(인터넷 익스플로어)와 스윙 브라우저 만이 비교적 모든 기능들이 온전하게 동작하는데 그에 반해 모바일 브라우저는 지금 최신 버젼이 공급된 제품들 중에 클립보드 복사 문제와 자바스크립트까지 다 온전하게 다 동작하는 브라우저가 없는 상황이네요. 모바일 크롬은 30 버젼대로 업데이트 하지만 않으면 이같은 문제점이 없습니다.

물론 스마트폰이 활상화 되기 시작한지 얼마되지 않았기 때문에 발생한 문제일 수 있겠지만 이젠 좀 완전한 모바일 브라우저가 나올 시점이 되지 않았나 싶습니다. PC의 익스플로어 같은 브라우저는 정말 사용하기 싫어요. 다 아시죠? 익스플로어 8.0에서 페이스북 좋아요 카운트를  로드하면 예/아니오 창이 뜨면서 엄청 느려지고 자바스크립트 다운 현상이 생긴다는 사실을요. 전 이때 익스플로어 성능이 황이라는 걸 알아챘습니다.

덧글

  • PFN 2013/12/03 16:10 # 답글

    스윙이랑 익스플로러만 된다면 제로보드가 웹표준 밥말아먹어서 그런거겠죠
  • 희망의빛™ 2013/12/03 16:34 #

    아니요. 크롬에서 지원하지 않는 자바스크립트 사용 때문이죠.

    http://www.blrun.net/bbs/zboard.php?id=clmn1&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&sm=on&select_arrange=headnum&desc=asc&no=946

    이 글을 한번 읽어보십시요. 다른 대안이 있으면 함 제시해 주십시요. 어떤 표준 문제라면 모르겠는데 원래부터 지원하지 않는 자바스크립트 동작이 많습니다.

    "클립보드 카피 내용 잘림" 문제는 이전 버젼의 크롬에선 제대로 동작하고 있구요.
  • 식용달팽이 2013/12/03 21:35 # 삭제

    희망의빛™ // 문제가 되는 부분은 IE 전용의 비표준 자바스크립트입니다. 예전에 이걸 다른 이름으로 불렀는데;;; 어쨌든 자바와 자바스크립트가 다른 만큼 자바스크립트와 J스크립트는 다른 물건이고, 그것이 하위 호환을 중요시했던 크롬에서 IE에서만 열리는 페이지를 열기 위해 기존 크롬에 지원해 줬다 하더라도 비표준은 비표준인거죠;; 제로보드가 얼마나 웹표준과 거리가 먼 지는 굳이 설명 안해도 될 거고;;;

    J스크립트와 자바스크립트의 차이에 대해서는 초창기 넷스케이프와 IE의 싸움, MS의 반독점법 위반 혐의 고소, 윈도 95, 윈도 98, MS와 썬 마이크로 시스템즈의 대결 등을 검색해 보시면 잘 나옵니다.
  • 식용달팽이 2013/12/03 21:37 # 삭제

    희망의빛™ // 스윙의 경우 기본 엔진이 크로미움을 기반으로 한 위에 IE를 씌우고, 알툴즈를 얹은 브라우저죠;; 당연히 IE에서만 돌아가는 코드들이 실행되는거고;;; 윈도 8.1에서 데스크탑 모드 말고 타일 모드로 IE 실행시켜서 원하는 동작을 해 보세요. 되는가;;; 안 됩니다. IE도 이제는 웹 표준을 향해서 달려가고 있는 판국에 IE 구버전에서만 되는 걸 크롬이 지원 안한다고 욕하는 심보라니;; 비표준 기술은 사양되는 추세입니다.
  • PFN 2013/12/03 21:41 #

    이양반은 답을 말해줘도 안들어요.
    크롬 업데이트 해결책을 말해줘도 혼자 징징거리고 있고

    이양반 벽같아서 더 이상 신경안쓰려구요
  • 엘레시엘 2013/12/03 21:21 # 답글

    IE에서만 제대로 도는 코드라면 그건 99.9% 코드를 잘못 짠겁니다.
    크롬에서 지원하지 않는 기능을 사용한게 아니라 IE에서만 제공하는 비표준 기능을 쓴거죠.
  • 희망의빛™ 2013/12/03 22:18 # 답글

    지금까지 덧글 다신 분들 글 잘 보았는데요... 제가 단 링크인

    http://www.blrun.net/bbs/zboard.php?id=clmn1&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&sm=on&select_arrange=headnum&desc=asc&no=946

    를 보시고 올바른 자바스크립트(J스크립트요?) 문법을 좀 알려 주십시요. 저도 다른 문법을 구글링을 통해 많이 찾아봤는데요 되는 해법을 찾을 수가 없던 것 같아서요. 그리고 왜 기존에 사용하던 자바스크립트를 무시하고 J스크립트를 만든 겁니까? 기존 자바스크립트로 구현된 수많은 사이트들이 있는데 말입니다. 그 J스크립트가 어떤 문법인지 좀 알고 싶습니다. 링크에서 나타난 신택스가 어떻게 바뀌어야 하는지 그걸 좀 제게 알려주십시요. 고쳐보고 제가 되는지 함 확인해 보려고 합니다.

    J스크립트의 실체가 있다는 걸 제게 증명해 주십시요. 전 도저히 링크에 나타난 문법을 어떻게 고쳐야 할지 모르겠네요. 저도 그 넷스케이프에서 사용했다는 문법으로 다 고쳐봤는데 다 동작을 안했습니다. 아시는지 모르겠지만 제로보드에는 넷스케이프 브라우저 호환을 위한 코드도 들어가 있다는 사실을 알아 주시기 바랍니다. 소스는 분석해 보셨는지 모르겠네요.
  • 엘레시엘 2013/12/04 00:26 #

    ECMA라고 자바스크립트류 표준안이 있는데 자바스크립트가 엄청 성공하니까 MS에서 여기에 자기들 마음대로 기능 이거저거 더해서 만든게 JScript입니다.
    MS가 IE 버전 높이면서 JScript도 표준안쪽으로 많이 맞춰가고 있는데, 구버전에서는 표준 제대로 안지킨게 엄청 많아요.

    제로보드 코드도 엄청 오래된 물건입니다. 4.1 업데이트 된게 2007년이고, 그 뒤로는 공식 패치 없이 유저들이 누덕누덕 기워서 쓰는거라 웹표준에도 안맞고 보안도 엉망진창이에요. 중요한 자료 보관처거나 사람 많이 오는 사이트 운영에는 절대 비추천입니다. 넷스케이프 브라우저 호환 코드가 들어있다는거 자체가 얼마나 오래된 코드인지 알려주는 거나 다를바 없어요. 보통 넷스케이프 호환 코드로 분기 따로 맞추고 있는거면 4.0~6.0 시절에 작성된 코드일텐데 그렇다는건 만든지 10년 넘게 안 고친 코드라는 이야깁니다. 요즘 작성된 코드라면 그냥 jQuery 같은 라이브러리 써서 버전 평탄화를 해버리던가 처음부터 표준으로 맞추고, 굳이 필요하다면 IE, FF, Webkit 정도로 분기를 잡습니다.
  • 엘레시엘 2013/12/04 00:00 #

    하나만 고쳐드릴께요.
    edit_window_size 함수를 이렇게 고쳐보세요.

    function edit_window_size(window_size)
    {
    var last_height = parseInt(edit_windowdiv.style.height) || 0;
    if(window_size == "height_in") {
    edit_windowdiv.style.height = (last_height + 50) + "px";
    }
    if(window_size == "height_out") {
    edit_windowdiv.style.height = (last_height - 50) + "px";
    }
    if(window_size == "height_default") {
    if(sw_edit_use == "write") {
    edit_windowdiv.style.height = "300px";
    } else {
    edit_windowdiv.style.height = "150px";
    }
    }
    }

    style의 pixelHeight 속성은 브라우저따라 지원이 들쭉날쭉한데다, 파이어폭스에서 지원 안합니다.
    쓴다고 해도 보통은 read-only 속성으로 이용하지 저기에 직접 뭘 대입하는 일은 별로 없고요.
  • 희망의빛™ 2013/12/04 09:06 #

    알려주신 소스에서 3행에서 끝에 달린 "||0" 을 지워도 앞의 코드 때문에 제대로 동작을 하네요. 암튼 이렇게 edit.js 파일과 edit_setting_edit.php 파일을 고쳤더니 제대로 에디터 창이 깨지지 않고 동작합니다. 처음에 edit.js 파일만 고쳤더니 디폴트 창의 높이가 초기화가 안되면서 높이 조절만 돼서 알고 봤더니 edit_setting_edit.php 파일 끝에도 pixelHeight 명령을 사용해 창의 높이를 초기화 해주고 있더라구요. 그래서 거기도 edit_windowdiv.style.height = "300px"; 으로 고쳤더니 제대로 에디터 창이 깨지지 않고 로드가 됩니다. 아 이런 식으로 자바스크립트 소스를 고쳐줘야 하는 거군요.

    엘레시엘님이 사용한 style.height 신택스를 이전에 제가 안해본건 아닌데 edit_setting_edit.php 까지 손을 안봐서 제가 동작을 안하는 걸로 착각했습니다. 엘레시엘님의 친절한 소스 코딩에 정말로 감사드립니다. 제가 이 내용은 해당 덧글에 기술해 놓겠습니다.

    그리고 제로보드의 다른 문제점들도 다시 한번 해결점을 찾아봐야 할 것 같습니다. 다시 한번 유용한 정보 감사드린다는 말씀 드립니다.
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.


웹로그 검색