Facebook Pixel Code를 읽으면 외부에서 읽은 js 내의 일본어가 깨집니다.
결론
외부에서 읽는 js에는 charset을 키틴으로 지정합시다. . .
-<script type="text/javascript" src="/js/bundle.js"></script>
+<script type="text/javascript" charset="UTF-8" src="/js/bundle.js"></script>
사건
지금까지 아무 문제 없이 webpack 으로 빌드한 js 가 움직이고 있었습니다만, facebook 의 애드용 코드를 추가한 순간, 파일이 문자화 되었습니다. 다음과 같은 코드입니다.
index.html<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window,document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
</script>
...
<script type="text/javascript" src="/js/bundle.js"></script>
charset="UTF-8"
를 외부로부터 읽어들이는 js 에 명시하면(자), 문자 부상이 고쳐졌습니다.
원인은 깊게 추구할 수 없지만, 문자 코드의 지정 등은 확실히 해 두어야 한다고 반성했습니다.
추가
게다가 상기의 수정을 한 후에도 <meta charset="UTF-8">
를 <head>
<head>
+ <meta charset="UTF-8">
<!-- Facebook Pixel Code -->
<script>
...
</script>
- <meta charset="UTF-8">
구체적으로는 /url?tags[]="あいうえお"
와 같은 일본어 쿼리를 포함한 api 요청이 왠지 shift-js 로 변환되어 unable to decode value
라는 상태가 되어 있었습니다.
<meta charset="UTF-8">
를 <head>
바로 아래(Facebook Pixel Code 위)에 쓰는 것으로 회피할 수 있었습니다.
Reference
이 문제에 관하여(Facebook Pixel Code를 읽으면 외부에서 읽은 js 내의 일본어가 깨집니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/numanomanu/items/3a36f4f87b9efe682d74
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
-<script type="text/javascript" src="/js/bundle.js"></script>
+<script type="text/javascript" charset="UTF-8" src="/js/bundle.js"></script>
지금까지 아무 문제 없이 webpack 으로 빌드한 js 가 움직이고 있었습니다만, facebook 의 애드용 코드를 추가한 순간, 파일이 문자화 되었습니다. 다음과 같은 코드입니다.
index.html
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window,document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
</script>
...
<script type="text/javascript" src="/js/bundle.js"></script>
charset="UTF-8"
를 외부로부터 읽어들이는 js 에 명시하면(자), 문자 부상이 고쳐졌습니다.원인은 깊게 추구할 수 없지만, 문자 코드의 지정 등은 확실히 해 두어야 한다고 반성했습니다.
추가
게다가 상기의 수정을 한 후에도 <meta charset="UTF-8">
를 <head>
<head>
+ <meta charset="UTF-8">
<!-- Facebook Pixel Code -->
<script>
...
</script>
- <meta charset="UTF-8">
구체적으로는 /url?tags[]="あいうえお"
와 같은 일본어 쿼리를 포함한 api 요청이 왠지 shift-js 로 변환되어 unable to decode value
라는 상태가 되어 있었습니다.
<meta charset="UTF-8">
를 <head>
바로 아래(Facebook Pixel Code 위)에 쓰는 것으로 회피할 수 있었습니다.
Reference
이 문제에 관하여(Facebook Pixel Code를 읽으면 외부에서 읽은 js 내의 일본어가 깨집니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/numanomanu/items/3a36f4f87b9efe682d74
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<head>
+ <meta charset="UTF-8">
<!-- Facebook Pixel Code -->
<script>
...
</script>
- <meta charset="UTF-8">
Reference
이 문제에 관하여(Facebook Pixel Code를 읽으면 외부에서 읽은 js 내의 일본어가 깨집니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/numanomanu/items/3a36f4f87b9efe682d74텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)