내가 원하는 수준은.. 구형 브라우저 - 신형 브라우저 수준이 아니라.

신형 브라우저중

chrome 버전별 혹은

모바일 / 데스크탑 버전 정도이긴 한데..

한번 caniuse는 좀 찾아 봐야 겠다.. ㅠㅠ


[링크 : https://caniuse.com/]

[링크 : https://hackya.com/kr/크로스-브라우징-총정리/]

'Programming > javascript & HTML' 카테고리의 다른 글

canvas dataURL to Formdata(file)  (0) 2018.12.07
js 부모창 변수 접근하기  (0) 2018.12.04
wavesurfer.js HTML5 AUDIO 미지원시  (0) 2018.11.30
safari 날짜 계산 NaN 문제  (0) 2018.11.30
모바일 크롬 select-option  (0) 2018.11.30
Posted by 구차니

망할(?) HE-AACv2 땜시 고생중인데...


윈도우에서는 크롬과 edge 중에 edge만 해당 오디오를 정상 지원하고

모바일에서는 아퐁10에서 safari가 정상 지원을 하는 것으로 보인다

(회사 사람들 기종 돌아가면서 해보는데 크롬은 전반적으로 안되고, 사파리도 ios에 따라 다른 듯)


아무튼 fallback 기능으로 backend 엘리먼트를 통해 MediaElement를 설정하여 

재생만이라도 되게 설정할 수 있다.(파형은 안나옴)


[링크 : https://stackoverflow.com/.../wavesurfer-js-getting-it-to-work-in-browsers-other-than-firefox]

[링크 : https://wavesurfer-js.org/example/audio-element/]



+

다시 테스트 해보니..

PC 크롬은 backend로도 재생불가

모바일 크롬은 backend로 파형없이 재생가능

아이폰 크롬도 backend로 파형없이 재생가능

아이폰 safari는 ios 버전에 따라 파형없이 재생가능(아퐁 10은 파형도 나옴)

(망할...)


+

음.. 


[링크 : https://caniuse.com/#search=web%20audio]

'Programming > javascript & HTML' 카테고리의 다른 글

js 부모창 변수 접근하기  (0) 2018.12.04
크로스 브라우징 관련..  (0) 2018.11.30
safari 날짜 계산 NaN 문제  (0) 2018.11.30
모바일 크롬 select-option  (0) 2018.11.30
HTML border style 지정  (0) 2018.11.30
Posted by 구차니

크롬에서만 하다 보니.. 신경을 못 썼는데

크롬은

new Date('2018-11-30 16:30:00') 양식을 인식하는데 반해

safari에서는 인식하지 못해 NaN을 뱉어낸다


그래서 -를 /로 치환해주는 꽁수가 필요한듯..

[링크 : http://gemimi.tistory.com/49]

[링크 : http://tod2.tistory.com/176]



크롬 개발자 도구로 해서 /를 인식하는 것 확인..

그러니 safari에 맞게 /로 해주면 되는 듯...

new Date('2018/02/02 11:11:11')

Fri Feb 02 2018 11:11:11 GMT+0900 (한국 표준시) 



+

[링크 : https://caniuse.com/#search=date]

[링크 : https://html.spec.whatwg.org/multipage/input.html#date-state-(type%3Ddate)]

Posted by 구차니

원인 불명. 해결책은 찾아야 겠지만

모바일에서는 select size를 통해 여러개를 출력하는 녀석을 정상적으로 출력하지 못한다.


PC 크롬



노트2 모바일 크롬




select-option을 여러개 띄우는게 정상적인 사용방법은 아니지만

이렇게 까지 사용불가할 정도가 될 줄이야..

아무튼.. 이걸 우회할 방법을 찾던가.. 다른 태그로 써야 할 것 같네.. ㅠㅠ


+

2013년 당시 알려진 버그였나 본데..

[링크 : https://stackoverflow.com/questions/15760089/select-size-attribute-size-not-working-in-chrome-safari]


+

backend를 설정해주면 waveform은 안나오더라도 재생은 된다고 한다.

wavesurfer.init({

    container: '#waveform',

    waveColor: '#A8DBA8',

    progressColor: '#3B8686',

    backend: 'MediaElement'

}); 

[링크 : https://stackoverflow.com/.../wavesurfer-js-getting-it-to-work-in-browsers-other-than-firefox]

'Programming > javascript & HTML' 카테고리의 다른 글

wavesurfer.js HTML5 AUDIO 미지원시  (0) 2018.11.30
safari 날짜 계산 NaN 문제  (0) 2018.11.30
HTML border style 지정  (0) 2018.11.30
브라우저 닫기, 창 이동시 이벤트  (0) 2018.11.30
javascript 변수 정확도  (0) 2018.11.26
Posted by 구차니

border-style로 점선, 실선 등으로 설정 가능

당연(?) 하지만

top right bottom left 순서로 설정도 가능


[링크 : http://supervitamin.tistory.com/75]

'Programming > javascript & HTML' 카테고리의 다른 글

safari 날짜 계산 NaN 문제  (0) 2018.11.30
모바일 크롬 select-option  (0) 2018.11.30
브라우저 닫기, 창 이동시 이벤트  (0) 2018.11.30
javascript 변수 정확도  (0) 2018.11.26
js object array sort by key  (0) 2018.11.21
Posted by 구차니

jquery에서는 1.8 이후에 deprecated 되었고 3.0 이후에 완전 삭제 된 기능으로

.unload()가 존재하는데, 얘가 좀 직관적인 이름이긴 하다..

[링크 : https://api.jquery.com/unload/]


아무튼 document가 아니라 window에 대해서 before unload 이벤트를 등록하면

창을 이동하거나 닫거나 X 누를때(크롬에서 확인) 이벤트가 발생한다.

$(window).on("beforeunload", function() { 

    return confirm("Do you really want to close?"); 

}) 


[링크 : https://stackoverflow.com/questions/16707249/detect-close-windows-event-by-jquery]

[링크 : https://www.w3schools.com/jquery/event_unload.asp]

[링크 : http://suyou.tistory.com/86]


+

해보니.. 로그인 확인 누를때도 떠서 해제해줄 필요가 있네..

등록은 on() / bind()로 한다면

해제는 off() / unbind()로 한다.

//onBeforeUnload 이벤트 지정

$(window).bind('beforeunload', function()

{

    //페이지 변경이 있었는지 체크..

    var isChanged = ....; 


    //출력할 내용을 Return 해주면 확인 창이 뜨게 됩니다.

    if(isChanged) 

        return '변경된 사항이 있습니다. 페이지에서 나가시겠습니까?';<br>

    //확인 창을 띄우지 않으려면 아무 내용도 Return 하지 마세요!! (Null조차도)

};


//Form Submit 등 onBeforeUnload Event가 발생하길 원하지 않는 경우, 이벤트 해제

$('form').submit(function() 

{

    $(window).unbind('beforeunload'); 

}); 

[링크 : http://nsinc.tistory.com/101]

'Programming > javascript & HTML' 카테고리의 다른 글

모바일 크롬 select-option  (0) 2018.11.30
HTML border style 지정  (0) 2018.11.30
javascript 변수 정확도  (0) 2018.11.26
js object array sort by key  (0) 2018.11.21
wavesurfer.js 그리고 HE-AACv2  (0) 2018.11.21
Posted by 구차니

어쩌면 당연한건데.. 먼가 생소하게만 느껴지는 녀석



The maximum number of decimals is 17, but floating point arithmetic is not always 100% accurate:

Example

var x = 0.2 + 0.1;         // x will be 0.30000000000000004 

[링크 : https://www.w3schools.com/js/js_numbers.asp]

'Programming > javascript & HTML' 카테고리의 다른 글

HTML border style 지정  (0) 2018.11.30
브라우저 닫기, 창 이동시 이벤트  (0) 2018.11.30
js object array sort by key  (0) 2018.11.21
wavesurfer.js 그리고 HE-AACv2  (0) 2018.11.21
requireJS  (0) 2018.11.21
Posted by 구차니



[링크 : https://stackoverflow.com/questions/5467129/sort-javascript-object-by-key/31102605]


'Programming > javascript & HTML' 카테고리의 다른 글

브라우저 닫기, 창 이동시 이벤트  (0) 2018.11.30
javascript 변수 정확도  (0) 2018.11.26
wavesurfer.js 그리고 HE-AACv2  (0) 2018.11.21
requireJS  (0) 2018.11.21
[Violation] 'setInterval' handler took  (0) 2018.11.18
Posted by 구차니

크롬에서는 HE-AACv2를 지원하지 않는건가? edge는 되는데 머야...

Uncaught (in promise) DOMException: Unable to decode audio data


[링크 : https://bugs.chromium.org/p/chromium/issues/detail?id=409402]

[링크 : https://bugs.chromium.org/p/chromium/issues/detail?id=534301]

[링크 : https://github.com/katspaugh/wavesurfer.js/issues/703]

'Programming > javascript & HTML' 카테고리의 다른 글

javascript 변수 정확도  (0) 2018.11.26
js object array sort by key  (0) 2018.11.21
requireJS  (0) 2018.11.21
[Violation] 'setInterval' handler took  (0) 2018.11.18
JSON.stringify() 주의사항(?)  (0) 2018.11.17
Posted by 구차니

node.js 예제를 보다 보면

분명히(?) client side인데 require가 있어서 보는 중..

require.js로 JS들을 조건부 load 할 수 있다고 하는데...

[링크 : https://requirejs.org/docs/commonjs.html]


AMD는 Asynchronous Module Definition (비동기 모듈 정의) 규칙이다.

[링크 : https://blog.pigno.se/post/157992405313]



// EITHER - accessing modules with <script> tags

var WaveSurfer = window.WaveSurfer;

var TimelinePlugin = window.WaveSurfer.timeline;

var MinimapPlugin = window.WaveSurfer.minimap;


// OR - importing as es6 module

import WaveSurfer from 'wavesurfer.js';

import TimelinePlugin from 'wavesurfer.js/dist/plugin/wavesurfer.timeline.min.js';

import MinimapPlugin from 'wavesurfer.js/dist/plugin/wavesurfer.minimap.min.js';


// OR - importing as require.js/commonjs modules

var WaveSurfer = require('wavesurfer.js');

var TimelinePlugin = require('wavesurfer.js/dist/plugin/wavesurfer.timeline.min.js');

var MinimapPlugin = require('wavesurfer.js/dist/plugin/wavesurfer.minimap.min.js');


// ... initialising waveform with plugins

var wavesurfer = WaveSurfer.create({

    container: '#waveform',

    waveColor: 'violet',

    plugins: [

        TimelinePlugin.create({

            container: '#wave-timeline'

        }),

        MinimapPlugin.create()

    ]

}); 


[링크 : https://wavesurfer-js.org/doc/]

'Programming > javascript & HTML' 카테고리의 다른 글

js object array sort by key  (0) 2018.11.21
wavesurfer.js 그리고 HE-AACv2  (0) 2018.11.21
[Violation] 'setInterval' handler took  (0) 2018.11.18
JSON.stringify() 주의사항(?)  (0) 2018.11.17
canvas to input type=file formdata  (0) 2018.11.15
Posted by 구차니