Angularjs-ng-cloak / ng-show 요소가 깜박임


231

angular.js에서 지시문 / 클래스 ng-cloak또는에 문제가 ng-show있습니다.

Chrome은 정상적으로 작동하지만 Firefox에서 ng-cloak또는 의 요소가 깜박입니다 ng-show. IMHO는 ng-cloak/ ng-show로 변환하여 발생 style="display: none;"합니다. 파이어 폭스 자바 스크립트 컴파일러는 약간 느려서 요소가 잠시 동안 나타난 다음 숨겨져 있습니까?

예:

<ul ng-show="foo != null" ng-cloak>..</ul>

1
이러한 요소에 처음에 display : none 스타일을 설정하면 문제가 해결됩니까?
akonsu 2016 년

3
나는 그것을 시도 할 것이다. 클래스를 추가하고 (요소를 숨기고) js를 통해 수동으로 제거하는 것과 비슷한 것을 시도했지만 더 나빠 보였다.
MelkorNemesis 2012 년

답변:


385

설명서에 언급되어 있지 않지만 display: none;CSS에 규칙을 추가하는 것만으로는 충분하지 않을 수 있습니다 . 당신이 몸에 로딩 angular.js 또는 템플릿을 사용, 곧 컴파일되지 않습니다 경우에 ng-cloak지시를 하고 당신의 CSS에 다음을 포함한다 :

/* 
  Allow angular.js to be loaded in body, hiding cloaked elements until 
  templates compile.  The !important is important given that there may be 
  other selectors that are more specific or come later and might alter display.  
 */
[ng\:cloak], [ng-cloak], .ng-cloak {
  display: none !important;
}

의견에서 언급했듯이이 !important것이 중요합니다. 예를 들어 다음과 같은 마크 업이있는 경우

<ul class="nav">
  <li><a href="/foo" ng-cloak>{{bar}}</a></li>
</ul>

를 사용 bootstrap.css하는 경우 다음 선택기가 ng-cloak'ed 요소에 더 구체적입니다.

.nav > li > a {
  display: block;
}

따라서 단순히을 사용하여 규칙을 포함하면 display: none;Bootstrap의 규칙이 우선하고 display가로 설정되어 block템플릿이 컴파일되기 전에 깜박임을 볼 수 있습니다.


3
또한 .js의 CSS 규칙이 제 시간에 구문 분석되지 않기 때문에 require.js와 같은 비동기 로더를 사용하여 angular.js를로드하는 경우에도 동일한 문제가 발생할 수 있습니다. 위의 솔루션은이 시나리오도 수정합니다.
Johann

84
나를 위해 문제를 해결하지 않습니다. 모르겠다-브라우저가 처음에 물건을 보여주기를 간절히
원한다고

7
브라우저는 CSS를 고려하지 않고 DOM을 렌더링해서는 안됩니다. 그것은 매우 비효율적 일 것이다. 설정을 다시 확인하십시오 : p
AlexG

1
일단 모듈 코드를 지연로드하면 ng-cloaked 된 dom을 어떻게 재부트합니까?
FutuToad

위의 CSS는 기회가 작동하지 않는 경우이다 :인이 ng:cloak올바르게 이스케이프되지 않습니다. 순수한 CSS의 경우 백 슬래시가 있는지 확인하십시오. 컴파일 된 CSS, 예를 들어 스타일러스의 경우입니다 [ng\\:cloak]. 컴파일 된 CSS가 올바른지 확인하십시오.
Joe

47

으로 문서에 언급 , 당신은에 기초 숨기기에 CSS에 규칙을 추가해야 ng-cloak속성 :

[ng\:cloak], [ng-cloak], .ng-cloak {
    display: none;
}

"Built with Angular"사이트에서 비슷한 트릭을 사용하는데, Github에서 소스를 볼 수 있습니다 : https://github.com/angular/builtwith.angularjs.org

희망이 도움이됩니다!


4
angular.js는 해당 스타일 규칙을 문서 헤드에 추가합니다. 실제로 이것을 CSS에 추가 할 필요는 없습니다. 즉, 이것은 작동하는 것 같습니다. 내 생각에 angular.js는 angular를로드 할 때까지 머리에 스타일 블록을 추가하지 않기 때문입니다.
ntownsend

13
무엇 정말로 문서에서 언급하는 것은 이것이다 : "최상의 결과를 들어, angular.js 스크립트는 HTML 파일의 헤드 부분에 장착되어야한다 택일 (위) CSS 규칙은 응용 프로그램의 외부 스타일 시트에 포함되어야합니다. "
Andriy Drozdyuk

4
다시 말해, 페이지 하단에 스크립트 참조를 추가하는 경우 (많은 사람들이하는 것처럼); 그런 다음 규칙을 CSS에 추가하십시오.
GFoley83

1
require.js와 함께 angular.js를 추가했기 때문에 도움이되었습니다.
올리브

1
ng-app 지시문을 포함하는 html 요소에 ng-cloak 지시문을 추가했습니다. 매력처럼 일했다. 예 : <div ng-cloak ng-app = "my-app">
miniscem

33

AngularJS가 headHTML에 포함되어 있는지 확인하십시오 . ngCloak 문서를 참조하십시오 :

최상의 결과를 얻으려면 angular.js 스크립트를 html 파일의 head 섹션에로드해야합니다. 또는 CSS 규칙 (위)을 응용 프로그램의 외부 스타일 시트에 포함시켜야합니다.


3
예! 왜 어디서나 사람들이 페이지 끝에 angular.js를로드하는 것이 좋을지 이해할 수 없습니다. Angular가 처음부터 올바르게 제어하면 기분이 좋아집니다. 내가 ng-cloak지금 노력하고 있습니다.
Ivan Ferrer Villa

2
나는 동의한다-마지막에로드되는 스크립트에 대한 것은 js 가하기 전에 페이지가 무언가를 표시하기를 원하는 일반적인 웹 개발에서 비롯되지만 각도의 경우 실제로는 반대를 원합니다.
더 선명

1
그리고 스타일 시트가로드되기 전에. head애프터 스타일 시트에 Angular를 포함 시키면 문제가 해결되지 않습니다.
AgmLauncher 2018 년

27

나는 ngCloak을 사용하여 운이 없었습니다. 위에서 언급 한 모든 사항에도 불구하고 여전히 깜박 거립니다. 깜박임을 피하는 유일한 확실한 방법은 콘텐츠를 템플릿에 넣고 템플릿을 포함시키는 것입니다. SPA에서 Angular에 의해 컴파일되기 전에 평가되는 유일한 HTML은 기본 index.html 페이지입니다.

몸 안의 모든 것을 가져 와서 별도의 파일에 붙이고 다음과 같이하십시오.

<ng-include src="'views/indexMain.html'"></ng-include>

Angular가 템플릿을 DOM에 추가하기 전에 템플릿을 컴파일하기 때문에 깜박 거리지 않아야합니다.


1
정확히 내가 사용하는 것-깨끗하고 간단하며 고통스러운 해킹이 없습니다.
Dmitri Zaitsev

2
양해하여 주시기 바랍니다 ng-include급부상 추가 AJAX 요청이 서버에서 콘텐츠를 가져올 수. 예를 들어, 당신이 ng-includeinside 해서는 안되는 어려운 방법을 배웠습니다 ng-repeat.
jsuddsjr

1
나를 위해 일했다. 마크 업에서 ng-app외부 를 유지해야 ng-include합니다.
GraehamF

2
이 솔루션은 딸꾹질없이 가장 잘 작동합니다. 가능하면이 솔루션을 사용하십시오.
idungotnosn

2
이 솔루션은 정말 성가신 상황을 해결했습니다. 감사합니다!
Maxwelll

22

ngBindngBindTemplate 은 CSS가 필요없는 대안입니다.

<div ng-show="foo != null" ng-cloak>{{name}}</div>  <!-- requires CSS -->
<div ng-show="foo != null" ng-bind="name"></div>
<div ng-show="foo != null" ng-bind-template="name = {{name}}"></div>

1
좋은 대답입니다. 어떤 사람들은 코드를 읽을 수 없게 만든다고 생각하지만 ng-bind'중괄호 플래시'를 피하거나 ng-cloak태그 수준에서 사용해야하는 좋은 방법입니다 . 그들에게는 두 가지 접근법을 섞지 않는 이유가 없습니다.
Dave Everitt

1
ng-bind는 문제에 대한 더 나은 접근 방법입니다. 다른 답변에서는 어떤 각도에서든 첫 번째 각도, 중괄호가 전혀 깜박
이지 않아야 함

20

ng-cloak을 트리거하는 다른 방법을 사용하는 경우 허용되는 답변 외에도 ...

CSS / LESS에 몇 가지 추가 특성을 추가 할 수도 있습니다.

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
.ng-cloak, .x-ng-cloak,
.ng-hide {
    display: none !important;
}

1
위의 어느 것도 그 일을하지 않는 것처럼 보였을 때 이것은 나의 유스 케이스에서 효과적이었습니다.
Porlune

15

비슷한 문제가 있었고 전환이 포함 된 클래스가 있으면 요소가 깜박입니다. 성공하지 않고 ng-cloak을 추가하려고했지만 전환을 제거하면 버튼 깜박임이 중지되었습니다.

이온 프레임 워크를 사용하고 있으며 버튼 아웃 라인에 이러한 전환이 있습니다.

.button-outline {
  -webkit-transition: opacity .1s;
  transition: opacity .1s;
}

클래스를 덮어 쓰기하여 전환을 제거하면 버튼 깜박임이 중지됩니다.

최신 정보

다시 이온 성에서는 ng-show / ng-hide를 사용할 때 깜박임이 있습니다. 다음 CSS를 추가하면 해결됩니다.

.ng-hide-add,
.ng-hide-remove {
  display: none !important;
}

출처 : http://forum.ionicframework.com/t/beta-14-ng-hide-show/14270/9


1
그러나 ng-hide / show 지시문에 대한 애니메이션을 비활성화하지 않습니까?
쿠샤 그라 구르

1
기억이 안나 당신은 그것을 시도하고 애니메이션을 비활성화했습니다?
Seb Fanals

1
감사. 이것은 이온에서 매우 특별한 문제입니다. 나는 .button-clear, .button-icon, .button-outline { @include transition(opacity 0s); }scss에 추가 했다.
hgoebl

9

나는 어디에 문제가 있었다 <div ng-show="expression">ng-show 지시문이 실행되기 전에 "표현식"이 초기에 거짓 이었지만 처음에 1 초 동안 a가 표시 .

내가 사용한 솔루션은 에서처럼 "ng-hide"클래스를 수동으로 추가하여 <div ng-show="expression" ng-hide>처음 숨겨지기 시작했는지 확인하는 것이 었습니다. ng-show 지시문은 필요에 따라 ng-hide 클래스를 추가 / 제거합니다.


1
와우, 내가 시도한 모든 괴물 옵션 중에서 이것은 속임수였습니다. 감사합니다!
Nikola

최고의 솔루션! 이것은 몇 달 동안 나를 미치게했다! 감사합니다!
abelabbesnabi

나는 이온 프레임 워크를 사용하고 있으며 이것이 실제로 작동하는 유일한 대답입니다.
Mikel

7

시도 파이어 버그를 끕니다 . 나는 진지하다. 이것은 내 경우에 도움이됩니다.

허용 대답을 적용하고 있는지 확인 방화범이 끌려 파이어 폭스에서이 켜져 오프 : F12 키를 눌러 다음이 페이지에 대한 방화범을 해제 - 작은 버튼을 오른쪽 상단 모서리에.


그렇습니다 그것은 나를 위해 그것을했다 감사합니다!
MadeInDreams 5

고마워요. 이상한 버그
스티븐 심슨

6

깜박임 문제를 일으킬 수있는 두 가지 별도의 문제가 실제로 있으며이 중 하나 또는 둘 다에 직면 할 수 있습니다.

문제 1 : ng-cloak이 너무 늦게 적용되었습니다

이 문제는 AngularJS가 헤드에로드되도록하는 것입니다. ngCloak 문서를 참조하십시오 :

최상의 결과를 얻으려면 angular.js 스크립트를 html 파일의 head 섹션에로드해야합니다. 또는 CSS 규칙 (위)을 응용 프로그램의 외부 스타일 시트에 포함시켜야합니다.

문제 2 : ng-cloak가 너무 빨리 제거됨

이 문제는 페이지에 CSS가 많고 서로 연계 된 규칙이 있고 최상위 레이어가 적용되기 전에 CSS의 더 깊은 레이어가 깜박일 때 발생할 수 있습니다.

style="display:none"요소 를 추가 하는 것과 관련된 답변의 jQuery 솔루션 은 스타일이 충분히 늦게 제거되는 한 (실제로이 두 가지 문제를 모두 해결하는 한)이 문제를 해결합니다. 그러나 HTML에 직접 스타일을 추가하지 않으려면 다음을 사용하여 동일한 결과를 얻을 수 있습니다ng-show .

질문의 예부터 시작하십시오.

<ul ng-show="foo != null" ng-cloak>..</ul>

요소에 추가 ng-show 규칙을 추가하십시오.

<ul ng-show="isPageFullyLoaded && (foo != null)" ng-cloak>..</ul>

( ng-cloak문제 1을 피해야합니다.)

그런 다음 app.run 세트에서 isPageFullyLoaded:

app.run(['$rootScope', function ($rootScope) {
    $rootScope.$safeApply = function (fn) {
        $rootScope.isPageFullyLoaded = true;
    }
}]);

정확히 무엇을하고 있는지에 따라 app.run이 설정하기 가장 좋은 장소 일 수도 있고 아닐 수도 있습니다 isPageFullyLoaded. 중요한 것은 isPageFullyLoaded깜박 거리고 싶지 않은 것이 사용자에게 공개 될 준비가 된 후에 true로 설정되도록하는 것입니다.

것 같은데 문제 (1) 영업 타격하는 문제이지만, 다른 솔루션은 작업을하지 않거나 부분적으로 만 그들이 타격 때문에 작동하는지 발견하고 문제 2를 대신 또는뿐만 아니라.

중요 참고 : ng-cloak을 너무 늦게 적용하고 곧 제거 할 수있는 솔루션을 모두 적용하십시오. 이러한 문제 중 하나만 해결해도 증상이 완화되지 않을 수 있습니다.


1
"
aliopi

4

우리는 회사에서이 문제에 부딪 쳤고 깜박 거리는 ng-show 요소의 CSS 스타일에 "display : none"을 추가하여 문제를 해결했습니다. 우리는 ng-cloak을 전혀 사용할 필요가 없었습니다. 이 스레드의 다른 스레드와 달리 Safari에서는 Firefox 또는 Chrome이 아닌이 문제가 발생 했습니다 .iOS7의 Safari 지연 페인트 다시 버그 때문일 수 있습니다.


3

그만한 가치가 있기 때문에 비슷한 문제가 발생했습니다. 캐시가 활성화 된 상태에서 앱 / 사이트에서 소스 파일을 재사용하여 도움이되는지 확인하는 것이 좋습니다.

플리커가있는 상태에서 DevTools를 열고 캐시를 비활성화 한 상태에서 테스트했습니다. 캐싱이 활성화 된 상태에서 패널을 닫은 상태로두면 문제가 해결되었습니다.


3

헤드 태그의 아래 문장을 유지하면이 문제가 해결되었습니다.

<style type="text/css">
    [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
    display: none !important;
}
</style>

공식 문서


3

이러한 방법을 사용할 수 없었으므로 결국 다음을 수행했습니다. 처음 숨길 요소의 경우 :

<div <!--...--> style="display: none;" ng-style="style">

그런 다음 컨트롤러에서 상단 또는 근처에 이것을 추가하십시오.

$scope.style = { display: 'block' };

이런 식으로, 요소는 처음에 숨겨져 있으며 컨트롤러 코드가 실제로 실행될 때만 표시됩니다.

로직을 추가하여 필요에 따라 배치를 조정할 수 있습니다. 필자의 경우 현재 로그인하지 않은 경우 로그인 경로로 전환하고 인터페이스가 미리 깜박이지 않기를 원하므로 $scope.style로그인 확인 후 설정 했습니다.


2

ng-if대신 사용하는 것이 좋습니다 ng-show. ng-if DOM에서 요소를 완전히 제거하고 다시 만들고 ng-show가 깜박이지 않도록합니다.


그러나 그것은 또한 그 부분에서 실행중인 플러그인을 파괴합니다 ... (예 : jquery ui)
Geert Bellemans


2

버전 [1.4.9]이 data-ng-cloak 지시어를 지원할 수 있도록 아래로 업데이트되었으므로 각도 문서를 참조하는 것이 좋습니다.

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}

2

위의 ng-cloak 솔루션을 사용해 보았지만 Firefox에서 간헐적으로 문제가 있습니다. 나를 위해 일한 유일한 해결 방법은 Angular가 완전히로드 될 때까지 양식로드를 지연시키는 것입니다.

단순히 앱에 ng-init를 추가하고 양식 측에서 ng-if를 사용하여 설정 한 변수가 이미로드되었는지 확인합니다.

<div ng-app="myApp" ng-init="loaded='yes'"> 
   <form ng-if="loaded.length > 0">
      <!--all my elements here-->
   </form>
</div>

1

다른 답변 외에도 템플릿 코드의 플래시가 계속 발생하면 페이지 하단에 스크립트가있을 가능성이 높으므로 ng-cloak 지시문이 똑바로 작동하지 않습니다. 스크립트를 헤드로 이동하거나 CSS 규칙을 만들 수 있습니다.

문서에 따르면 "최상의 결과를 얻으려면 angular.js 스크립트를 html 문서의 헤드 섹션에로드해야합니다. 또는 위의 CSS 규칙을 응용 프로그램의 외부 스타일 시트에 포함시켜야합니다."

이제 외부 스타일 시트 일 필요는 없지만 헤드의 요소 일뿐입니다.

<style type="text/css">
  .ng-cloak {
    display: none !important;
  }
</style>

출처 : https://docs.angularjs.org/api/ng/directive/ngCloak


1

여기에 게시 된 모든 솔루션을 시도했지만 여전히 Firefox에서 깜박입니다.

그것이 누군가에게 도움이된다면 style="display: none;", 메인 컨텐츠 div 에 추가 한 다음 $('#main-div-id').show();서버에서 데이터를 가져온 후 모든 것이로드되면 jQuery (이미 페이지에서 이미 사용 중임)를 사용하여 해결했습니다 .


나는 이것이 나를 위해 일한 유일한 솔루션이라는 것을 알았지 만 JQuery를 사용하지 않기를 원했기 때문에 대안을 찾았습니다. 내 답변보기 here : stackoverflow.com/a/42527700/4214694
Andrew Downes

1

실제로 Rick Strahl의 Web Log의 제안이 내 문제를 완벽하게 해결한다는 것을 알았습니다 (특히 Firebug를 실행하는 동안 ng-cloak이 원시 {{code}}를 깜박이는 이상한 문제가 있음).

핵 옵션 : 컨텐츠 수동 숨기기

명시 적 CSS를 사용하는 것이 최선의 선택이므로 다음 사항이 필요하지 않습니다. 그러나 여기에서는 다른 프레임 워크 또는 자체 마크 업 기반 템플릿에서로드시 컨텐츠를 수동으로 숨기거나 표시하는 방법에 대한 통찰력을 제공하므로 여기에서 언급하겠습니다.

CSS 스타일을 페이지에 명시 적으로 포함시킬 수 있다고 생각하기 전에 ng-cloak이 왜 작동하지 않는지 알아 내려고했습니다. 아무데도 시간을 낭비하지 않고 마침내 컨테이너를 수동으로 숨기고 표시하기로 결정했습니다. 아이디어는 간단합니다. 처음에는 컨테이너를 숨기고 Angular가 초기 처리 및 페이지에서 템플릿 마크 업 제거를 완료 한 후에 표시합니다.

Angular가 제어권을 얻은 후에 내용을 수동으로 숨기고 표시 할 수 있습니다. 이를 위해 나는 다음을 사용했다.

<div id="mainContainer" class="mainContainer boxshadow"
    ng-app="app" style="display:none">

처음에는 페이지에서 요소를 명시 적으로 숨기는 표시 없음 스타일이 있습니다.

그런 다음 Angular가 초기화를 실행하고 페이지에서 템플릿 마크 업을 효과적으로 처리하면 내용을 표시 할 수 있습니다. Angular의 경우이 'ready'이벤트는 app.run () 함수입니다.

app.run( function ($rootScope, $location, cellService) {        
    $("#mainContainer").show();
    
});

이렇게하면 display : none 스타일과 내용이 효과적으로 제거됩니다. app.run ()이 시작될 때 DOM은 채워진 데이터 또는 최소한 빈 데이터로 표시 될 준비가되었습니다. Angular는 제어권을 얻었습니다.


나는 이것이 나를 위해 일한 유일한 솔루션이라는 것을 알았지 만 JQuery를 사용하지 않기를 원했기 때문에 대안을 찾았습니다. 내 답변보기 here : stackoverflow.com/a/42527700/4214694
Andrew Downes

1

위의 모든 답변을 시도했지만 아무것도 효과가 없었습니다. 이온 앱을 사용하여 하이브리드 앱을 개발했으며 깜박임이 아닌 오류 메시지를 만들려고했습니다. 내 요소에 ng-hide 클래스를 추가하여 문제를 해결했습니다. 내 div에는 이미 오류가있을 때 요소를 표시하는 ng-show가 있습니다. ng-hide를 추가하면 각도가로드되기 전에 div가 표시되지 않도록 설정됩니다. ng-cloak이 없거나 헤드에 각도를 추가 할 필요가 없습니다.


1

위의 논의에서 AS

[ng-cloak] {
                display: none;
            }

문제를 해결하는 완벽한 방법입니다.


1

지시문에서 ng-show를 사용하여 팝업을 표시하고 숨 깁니다.

<div class="..." ng-show="showPopup">

위의 어느 것도 나를 위해 일하지 않았으며 ng-show 대신 ng-if를 사용하는 것은 과잉 일 것입니다. 이는 클릭 할 때마다 전체 팝업 컨텐츠를 제거하고 DOM에 추가하는 것을 의미합니다. 대신 ng-if를 동일한 요소에 추가하여 문서로드시 표시되지 않도록했습니다.

<div class="..." ng-show="showPopup" ng-if="popupReady">

그런 다음 시간 초과와 함께이 지시문을 담당하는 컨트롤러에 초기화를 추가했습니다.

$timeout(function () {
    $scope.popupReady = true;
});

이렇게하면 깜박임 문제를 제거하고 매번 클릭 할 때마다 비용이 많이 드는 DOM 삽입 작업을 피할 수있었습니다. 이것은 하나의 목적 대신 동일한 목적으로 두 개의 범위 변수를 사용하는 비용이 들었지만 지금까지는 이것이 최선의 선택입니다.


1

시도 ng-cloak했지만 여전히 짧게 깜박입니다. 아래 코드는 완전히 제거했습니다.

<body style="display:none;" ng-style="{'display':'block'}">

1

위에 나열된 해결책 중 어느 것도 나를 위해 일하지 않았습니다. 그런 다음 실제 기능을 살펴보기로 결정하고“$ scope.watch”가 시작될 때 이름 필드에 가치가 없다는 것을 깨달았습니다. 그래서 코드에서 oldValue와 newValue를 설정 한 다음

$scope.$watch('model.value', function(newValue, oldValue) {
if (newValue !== oldValue) {
validateValue(newValue);
}
});

이 경우 scope.watch가 실행될 때 기본적으로 AngularJS는 이름 변수 (model.value)의 변경 사항을 모니터링합니다.


0

나는 포장 할 것이다 <ul>A를을<div ng-cloak>


2
그는를 포장 할 필요가 없습니다 <ul>. ng-cloak적용되는 요소와 해당 요소의 자손을 클로킹합니다.
btford

0

개인적으로이 ng-class속성 을 사용하기로 결정했습니다 ng-show. 나는 항상 기본적으로 표시되지 않는 팝업 창에 대해이 경로에서 더 많은 성공을 거두었습니다.

예전에는 <div class="options-modal" ng-show="showOptions"></div>

지금 : <div class="options-modal" ng-class="{'show': isPrintModalShown}">

options-modal 클래스의 CSS display: none가 기본적으로 사용됩니다. show 클래스는 display:blockCSS를 포함합니다 .


-2

줄 바꿈 방지

<meta http-equiv="Content-Security-Policy"              content="
default-src 'FOO';   
script-src 'FOO';    
style-src  'FOO'; 
font-src 'FOO';">

Firefox 45.0.1에서 작동

<meta http-equiv="Content-Security-Policy"              content="    default-src 'FOO';    script-src 'FOO';     style-src  'FOO';    font-src 'FOO';">
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.