Closed bluelion2 closed 1 year ago
사용자 크롬에 확장프로그램으로 수식 셰프
하나만 존재하는데, 끄면 css 가 정상 동작함.
수식 셰프
를 처음 실행시 또는 처음 켜진 상태에서 처음 웹 진입시에만 차단하고 있음.수식 셰프
앱 실행시 iframe으로 새로운 html을 생성해서 하단부에 노출하고 있음.extension으로 인해 jira style도 깨짐
Extension으로 인해 웨일 브라우저에서도 깨짐 - jira
원인 추측으로는 emotion/cache 일 것으로 추측중.
Primary use cases
Using emotion in embedded contexts such as an <iframe/>
Setting a [nonce](https://emotion.sh/docs/@emotion/cache#nonce-string) on any <style/> tag emotion creates for security purposes
Using emotion with a developer defined <style/> tag
Using emotion with custom Stylis plugins
해당 익스텐션 프로젝트 코드중.. @emotion/cache 의심이 가는 부분
createCache
createCache allows for low level customization of how styles get inserted by emotion. It's intended to be used with the [<CacheProvider/>](https://emotion.sh/docs/cache-provider) component to override the default cache, which is created with sensible defaults for most applications.
createCache
createCache는 @emotion에 의해 스타일이 삽입되는 방법에 대한 낮은 수준의 사용자 정의를 허용합니다. 대부분의 응용 프로그램에 적합한 기본값으로 생성되는 기본 캐시를 재정의하기 위해
function App() {
return (
<Extension height={toggle ? '80px' : '35%'} minHeight={toggle ? '' : '200px'}>
<Frame
id="iframe"
head={[
<link
key={1}
type="text/css"
rel="stylesheet"
href={
process.env.NODE_ENV === 'development'
? 'content.css'
: chrome.runtime.getURL('/content.css')
}
></link>,
<link
key={2}
type="text/css"
rel="stylesheet"
href={
process.env.NODE_ENV === 'development'
? 'sementic.css'
: chrome.runtime.getURL('/sementic.css')
}
></link>,
]}
>
<FrameContextConsumer>
{({ document, window }) => {
const cache = createCache({
key: 'head',
container: document.head,
});
return (
<CacheProvider value={cache}>
<MainPage toggle={toggle} onToggle={onToggle} />
</CacheProvider>
);
}}
</FrameContextConsumer>
</Frame>
</Extension>
);
}
export default App;
추측
참고
emotion을 쓰는 곳은 다 깨지는듯...
흠... 그렇다고 하기에는 같은 @emotion을 쓰는 ifKakao page는 또 잘 나오네...
cacheProvider가 문제가 맞는듯.
Code
Result
createCache(option)에는 옵션을 줄 수 있는데,
option: { key: 'css' ... }
data-emotion=css-global
에 저장하지 않고, data-emotion={key}
에 저장을 하게 됨
cache를 쓰지 않으면 data-emotion=css-global
에 css 저장.
Ifkakao
Among
결론
✨ What? 발견된 이슈 간단히 정리하기
특정 선생님만 웹 사이트 접근시 css가 꺠져서 나오는 이슈
📚 캡쳐한 사진들