검색 본문
100.daum.net 백과사전 크롬 프로젝트로 기획하여 소스 코드를 대부분 공개했다. 개발 과정 개발 초기의 명칭은 '구글 크롬(Google Chrome)'이었으나 버전 13부터 '크롬(Chrome)'이라고 줄여서 부르기 시작했다. 초기 크롬은 애플사의 웹키트(WebKit) 엔진을 포함한, 많은 오픈 소스를... 백과사전 검색 더보기 출처: 다음백과 hyeonstone.tistory.com 현군의 coding&IT story [Python] Chrome '페이지를 열기 위한 메모리가 충분하지 않음' 오류 해결 3 chrome_options.add_argument('headless') chrome_options.add_argument('--no-sandbox') # 보안 기능 비활성화 (샌드박스라는 공간을 비활성화 시킨다는 뜻) chrome_options.add_argument('--disable-dev-shm-usage') # /dev/shm(공유메모리) 디렉토리를 사용하지 않는다는 뜻 chrome_options.add_argument('--disable... 페이지를 열기 위한 메모리가 충분하지 않음 Google Out of Memory 2024.02.19 블로그 검색 더보기 bluemiv.tistory.com BLUEMIV react를 사용해서 크롬(chrome) extension 만들기 manifest 설정 변경 생성된 프로젝트의 public 디렉토리를 보면 manifest.json 파일이 있습니다. manifest.json 파일은 브라우저에 이 앱에 대한 정보를 알려주는 파일입니다. 이 앱이 크롬 익스텐션이라고 브라우저에 명시를 해줘야, extension 프로젝트를 만들 수 있습니다. 핵심이라고 할 수 있는 파일입니다. Chrome Extension App의 규격에 맞게 manifest.json 파일을 수정해봅시다. 아래 필드는 필수적으로 넣어줘야 하는 값들입니다. 하나라도 없으면 extension 앱으로 만들 수 없습니다. manifes chrome extension 등록 manifest 설정이 완료되었으면, react 프로젝트를 빌드합니다. yarn build 빌드된 산출물을 로컬 chrome 브라우저에 extension을 추가해봅시다. chrome://extensions/ 으로 들어가 우측 상단에 "개발자 모드"를 활성화 해줍니다. 크롬 extension 등록 (1) 그리고, "압축해제된 확장 프로그램을 로드합니다." 클릭하여 빌드 된 리액트 산출물 디렉토리를 선택합니다. 크롬 extension 등록 (2) 아래와 같이 리액트 앱이 크롬 extension으로 추가됩니다. 크롬 extension 등 아이콘 변경 extension 아이콘 모양도 변경 할 수 있는데, manifest.json의 action 필드 설정을 추가하면 됩니다. default_icon: chrome extension아이콘 설정 default_title: extension에 마우스를 올렸을 때, 나오는 툴팁 default_popup: entry point { "action": { "default_icon": { "16": "images/icon16.png", "24": "images/icon24.png", "32": "ima 최대 너비/높이 popup 형태의 chrome extension은 너비 800px 높이 600px을 최대로 가지게 됩니다. 만약 이 너비/높이보다 큰 경우, 스크롤이 생기므로 참고바랍니다. react-router-dom과 같이 사용하기 보통 페이지 라우팅을 구현하기 위해 react-router-dom을 많이 사용하는데, 보통의 리액트 앱처럼 <BrowserRouter>를 사용하게되면, 라우팅이 안되는 것을 확인 할 수 있습니다. 따라서, 사용할 때 주의할 점이 있습니다. 크롬 extension은 보통의 웹 서비스처럼 일반적인 주소를 가지고 있지 않고, 아래와 같은 주소를 가지게 됩니다. (실제로 주소를 가지고 있지 않다고 생각하면 됨) chrome-extension://agcmaaeddpoechfgejhmeepbciomikfl/index.html 주소로 페이지 라 5 생성된 프로젝트의 public 디렉토리를 보면 manifest.json 파일이 있습니다. manifest.json 파일은 브라우저에 이 앱에 대한 정보를 알려주는 파일입니다. 이 앱이 크롬 익스텐션이라고 브라우저에 명시를 해줘야, extension 프로젝트를 만들 수 있습니다. 핵심이라고 할 수 있는 파일입니다. Chrome Extension App의 규격에 맞게 manifest.json 파일을 수정해봅시다. 아래 필드는 필수적으로 넣어줘야 하는 값들입니다. 하나라도 없으면 extension 앱으로 만들 수 없습니다. manifes chrome 크롬 REACT chrome extension 리액트 2023.09.24 blog.naver.com COLLECT 대전 [신세계 백화점 콜렉트 안경원]대전에서 크롬하츠 정품 안경 선글라스를 구매하는 방법 & CHROME HEARTS OVERPOKED 오버포크드 소개 14 등한시 되던 모델도 나중엔 찾기 어려워지니 모든 모델을 관심있게 봐 주시는걸 추천드립니다. 인기있는 모델이 나에게도 어울리는 모델이라는 뜻은 아니니까요~! CHROME HEARTS OVERPOKED 크롬하츠 OVERPOKED 모델의 전면부부터 살펴 보면 두께감 있는 솔텍스와 메탈테의 조합임을 알 수 있습니다. 뿔테가 무겁게... 2024.05.08 let-it-snow.tistory.com 차곡차곡 개발일기 chrome.webNavigation 문제 상황 content.js가 뒤로 가기 등의 기능에서는 캐시 처리되어서 페이지를 불러올 때 실행이 안된다. SPA 사이트에서 contents.js를 동적으로 실행하고 싶은데 어떻게 하지… 페이지 전체 요소들을 다 불러오기 전에 contents.js가 실행돼서 HTML Element를 못 가져오는 상황 이 문제들을 해결하기 위해 공식 문서를 보던 중 chrome.webNavigation API를 발견했다. 그래서 뭐가 있는지 찾아봤다. chrome.webNavigation API Event 페이지가 load 될 때 거치는 이벤트 onBeforeNavigate onCommitted onCompleted onCreatedNavigationTarget onDOMContentLoaded 오류 감지 이벤트 onErrorOccured 페이지 load 후 발생되는 이벤트 onHistoryStateUpdated 기록 API 사용하여 프레임 상태 수정 onReferenceFragmentUpdated 프레임 참조 프래그먼트 변경 onTabReplaced Chrome 순간 검색을 통해 탐색이 실행된 경우 완전히 로드된 페이지가 현재 탭으로 전환 공식문서 내용을 정리하자면 먼저 이 이벤트들이 발생하는 순서가 있다. onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted 여기서 오류가 발생하면 onErrorOccurred 이벤 onDomContentLoaded, onCompleted chrome.webNavigation.onDOMContentLoaded.addListener(()=>{ console.log("DOM Content Loaded") }) chrome.webNavigation.onCompleted.addListener(()=>{ console.log("Completed"); }) DOM Content와 Completed는 한 번만 실행될 줄 알았는데 여러 번 실행된다. 여러 개의 DOM으로 이루어진 사이트라서 그동안 생각대로 실행이 안된 거 같다. onHistoryStateUpdated chrome.webNavigation.onHistoryStateUpdated.addListener(()=>{ console.log("History State Updated") }) onHistoryStateUpdated 이벤트가 두 번 발생하는 이유가 뭘까? callback으로 data 찍어봤다. 다른 사이트로 이동할 때는 frameType, transitionType이 이렇게 나왔다. 링크로 외부 사이트 이동한다는 뜻인 듯. 구글로 검색할 때도 이렇게 나오는 거 보니 정말 다른 페이지로 load 될 때 이렇게 나 onCreatedNavigationTarget chrome.webNavigation.onCreatedNavigationTarget.addListener(()=>{ console.log("Created Navigation Target") }) 새 창을 열거나 새로운 탭을 열 때 실행된다고 한다. 확인해 본 결과 직접 크롬의 새로운 tab을 열 때는 적용되지 않았다. 링크를 타고 가다가 자동으로 새 창이나 탭이 열리면 실행되었다. onReferenceFragmentUpdated chrome.webNavigation.onReferenceFragmentUpdated.addListener(()=>{ console.log('Fragment Updated'); }) 이건 페이지 content 요소들 업데이트되면 실행된다. onTabReplaced chrome.webNavigation.onTabReplaced.addListener(()=>{ console.log("Tab RePlaced") }) Chrome 순간 검색이란 검색을 누르지 않고도 검색란에 검색어를 치면 그 결과 값이 바로바로 출력되는 검색 기능이다. 사용할 일이 없는 거 같다. 결론 해결된 문제 상황 content.js가 뒤로 가기 등의 기능에서는 캐시 처리되어서 페이지를 불러올 때 실행이 안된다. SPA 사이트에서 contents.js를 동적으로 실행하고 싶은데 어떻게 하지… 이 두 문제 상황에서 쓸 만한 것은 onHistoryStateUpdated 이벤트인 것 같다. 문제 상황 3번은 지금 임시로 해결해 놓긴 했는데 다음에 더 찾아보고 다음 글에 써야겠다. #chrome #extension #chromeextension #webNavigation #chromAPI#onDOMContentLoaded #onCreatedNavig chrome.webNavigation.onHistoryStateUpdated.addListener(()=>{ console.log("History State Updated") }) onHistoryStateUpdated 이벤트가 두 번 발생하는 이유가 뭘까? callback으로 data 찍어봤다. 다른 사이트로 이동할 때는 frameType, transitionType이 이렇게 나왔다. 링크로 외부 사이트 이동한다는 뜻인 듯. 구글로 검색할 때도 이렇게 나오는 거 보니 정말 다른 페이지로 load 될 때 이렇게 나 Chromeextension 2024.02.03 blog.naver.com GALLERY EYEWEAR [CHROME HEARTS VAGASOREASS 크롬하츠 바가솔레스] 골드 실버|크롬하츠 원형테 안경 추천 28 하츠 1988년 미국의 라치드스탁에 의해 설립된 크리스트교와 중세유럽문양을 모티브로 전개하고 있는 실버브랜드. '녹슬지 않는 금속'이라는 뜻을 갖고 있습니다. Chrome Hearts VAGASOREASS 크롬하츠를 가지고 있으면 나의 심장은 녹슬지 않는다. 라는 의미도 있다고 하네요. Chrome Hearts VAGASOREASS... 2023.10.13 통합웹 더보기
서비스 안내 스토리의 글을 대상으로 검색결과를 제공합니다. 자세히보기 dazbee.tistory.com 자비 Wakfreeca - 이틀 정도 투자해서 작은 chrome extension을 만들어봤다 1. 채팅이 두 줄이다 각각 트위치 / 아프리카TV의 채팅 한 페이지에 보여줄 수 있는 채팅의 양이 절반이라는 뜻이다. 이런 것을 떠나서 지금까지 봐왔던 채팅창과 모습이 너무 다르기에 당황스러운 부분이 있었다. 2. 성별 표시는 필요가 없어보였다 엄마 주민번호로 메이플스토리를 즐겨온 우리 세대 사람들은 인터넷에서 보이는 이런 가짜일 가능성이 있는 성별따위는 절대로 믿지 않는다. 그 말인즉 사실 채팅창에 성별 표시같은 건 그냥 공간을 차지하는 쓸모없는 UI라는 뜻이다. 그래서 그냥 없애버리고 싶은 기분이 들었다. 3. 후원 메세지가 차지하는 공간이 너무 크다 트위치에서는 후원 메세지는 그다지 강력한 강조효과가 없었기 때문에 채팅창에는 채팅만 나오는, 하나의 역할만 잘 수행하고 있었는데, 아프리카TV는 너무 중구난방식으로 나타나는 부분이 있었다. 공간이 너무 크다 4. 보기 싫은 방송이 너무 많다 속칭 사이버 룸빵(...) 이라고 불리는, 여자 BJ들을 잔뜩 모아놓고 엑셀에 명부를 작성, 별풍선을 받은 개수로 경쟁을 하는, 상상하기 어려운 방식의 방송을 진행하는 BJ들이 너무 많아서 정말 꼴도 보기 싫었다. 그래서 가리고 싶었다. 적힌 숫자만큼 별풍선을 쏘면 이런 리액션을 해준다고 한다.. 이게,, 이게 뭐냐고... 나는 이런 현실을 받아들일 수 없었다. 그래도 이건 내가 원하는 방송만 딱 스코프를 잡고 보면 피할 수 있었기 때문에, 이 기능은 MVP에서 제거하고, 일단 내가 항상 보게 될 1~3번만 구현해서 일단 chrom 7 각각 트위치 / 아프리카TV의 채팅 한 페이지에 보여줄 수 있는 채팅의 양이 절반이라는 뜻이다. 이런 것을 떠나서 지금까지 봐왔던 채팅창과 모습이 너무 다르기에 당황스러운 부분이 있었다. 2023.12.29 티스토리 검색 더보기 story.kakao.com JesusJeja JesusJeja - 카카오스토리 통신(롯데정보통신),. 페이지 29개 관련 검색어 UAM 뜻 uam 4대 원칙 UAM 핵심기술 UAM 전망 uam 기술동향...濡 /span 쒕씪 대툕 罹섎 /span 踰덉뿭 ъ쭊 Chrome 쇳븨 湲덉쑖 Docs Sheets Slides 꾩꽌 Blogger... 2023.05.06 카카오스토리 검색 더보기 brunch.co.kr 북위더 여섯 살 '좋은 영어 학원'을 위하여 3 2학년 레벨의 지문을 읽고 문맥에서 원하는 답을 찾을 수 있어야 했다. 예를 들면 Reference : chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj...배웠던 단어는 공책에 적어두어서 다음시간에 암기하고 이 단어 또한 스펠링과 뜻을 외워오도록 해줘야 한다. 아이들은 똑같은 것을 너무 반복하면 지루에 하기 때문... 영어학원 영어 선생 2024.04.10 브런치스토리 검색 더보기
서비스 안내 Melon Company가 운영하는 음악 서비스입니다. 다른 사이트 더보기 Chrome Hearts Man KeepSake 앨범 coco 2024.01.24.