728x90

JavaScript 6

[Dev's] videoJS 프로그래스바 제어 로직 수정

대부분 그럴일은 없겠지만 본의아니게 영상이 나오고 있는 화면을 90도로 회전시켜야 하는 상황이 발생하였을 때 이벤트 좌표계도 어련히 변환되리라 생각할 수 있는데 웬걸... 좌표계는 변환이 안되었다... 클릭이벤트는 문제없었는데 터치이벤트가 문제였다. 예를들어 90도 돌아간 상태의 플레이어에서 프로그래스바를 터치하고 좌우로 드래그하면 프로그래스바는 위아래로 움직인다. 그리고 90도 돌아간 상태의 수직으로 그려진 프로그래스바를 위아래로 움직이면 정상적으로 seeking이 안되는 문제가 생긴다. 이 문제를 해결하기 위해 handleMouseMove 이놈을 수정해야했다. videoJS 라이브러리를 뜯어서 여기저기 만져본 결과 90도 회전이 되었을 때, 좌표계를 변환하고, 거기에 따라 currentTime을 다시..

Dev's 2024.01.30

[Dev's] 중복 팝업 방지 - 새창/새탭 생성 시, "Scripts may close only the windows that were opened by them." 해결

스크립트를 사용하여 자동으로 창이나 탭을 닫으려고 할 때 Scripts may close only the windows that were opened by them. 요런 에러가 발생하는 경우가 있다. 중복창이 생성되는걸 어떻게든 막아야하는 상황에서 close가 안먹혀서 다소 곤란해는데 아래 소스코드를 사용하여 구현했다. window.onload=function(){ if (localStorage.getItem('check_windows')==1) { if (confirm("이미 생성 된 화면이 있습니다.")) { // 취소(아니오) 버튼 클릭 시 이벤트 closeOverlap(); } else { // 확인(예) 버튼 클릭 시 이벤트 closeOverlap(); } } else { localStorag..

Dev's/Web 2022.09.30

[Dev's] 영상에 vtt 자막 동적으로 생성, 제어하기

var http = new XMLHttpRequest(); http.open('HEAD', vttsrc, false); http.send(); // 자막은 항상 1개만 사용한다 videoJsOption.tracks = []; console.log(http.status); if (http.status == "200") { //자막파일이 있음, 자막 기능 활성화 if (player.options_.tracks[0] != null) { player.removeRemoteTextTrack(player.textTracks_.tracks_[0]); player.addRemoteTextTrack({ kind: 'captions', srclang: 'ko', label: "자막"+index, src: vttsrc })..

Dev's/Web 2021.11.15

[Dev's] SwiftUI WebView에서 window.open()이 동작하지 않음

처음엔 submit 시, id값이 안넘어간다고만 생각했음 새 창 자체는 열렸는데, 값이 안넘어갔다는 에러가 발생했었음 그래서 여러 방법을 시도하던 중, 아에 웹뷰 코드를 갈아 엎어버림 WebView의 Coordinator 클래스에 아래와 같은 함수를 추가하고 func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? { if navigationAction.targetFrame == nil { webView.load(navigationActio..

Dev's/App 2021.11.11

[Dev's] javascript / jquery submit 방법

var foo = function(id) { ... } 버튼을 눌러서 foo 함수에 id를 받아서 컨트롤러에 특정 값을 포함하여 전송해야 하는 경우 javascript와 jquery를 아래와 같이 사용하여 컨트롤러를 호출 할 수 있다. 1. javascript document.listForm.selectedId.value = id; document.listForm.action = ""; document.listForm.submit(); 2. jquery $("input[name=selectedId]").val(id); $('#listForm').attr("action",""); $('#listForm').attr("target","sample"); $('#listForm').submit(); SwiftU..

Dev's/Web 2021.11.11

[Dev's]RSS 피드를 Ajax를 이용하여 JSON 형식으로 가져오기

티스토리에서 지원하는 RSS는 https://pororious.tistory.com/rss 이런 형식으로 주어진다. 이걸, 포트폴리오에서 파싱받아서, 한 섹션을 꾸며보고자 작업을 진행했는데 생각보다 쉬울줄 알았던 작업이 난관에 빠졌었다. 단순히 JSON만 가져오면 되겠지~ 했는데 이게 ajax에서 그냥 호출하면 에러가 뜬다. 이전에 작업 중 이런 에러를 마주친적이 있었는데, 클라이언트에서 통신중인 주서버가 아닌 외부데이터에 접근을 하려고 할 때 발생하는 에러였다. 결국 해결하지 못하고, 클라이언트가 아닌, 서버단에서 처리하도록 조치를 했던 기억이 있었는데 주요 문제는, "보안"문제였다. 이걸 해결할려면 중간에 보안문제가 없는곳을 통해서 데이터를 받아와야 한다. var feedURL = "http://po..

Dev's/Web 2021.01.10
728x90