<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>ロケットローダー on qwerty.work</title>
        <link>https://qwerty.work/tags/%E3%83%AD%E3%82%B1%E3%83%83%E3%83%88%E3%83%AD%E3%83%BC%E3%83%80%E3%83%BC/</link>
        <description>Recent content in ロケットローダー on qwerty.work</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja-JP</language>
        <lastBuildDate>Thu, 10 May 2018 22:10:26 +0900</lastBuildDate><atom:link href="https://qwerty.work/tags/%E3%83%AD%E3%82%B1%E3%83%83%E3%83%88%E3%83%AD%E3%83%BC%E3%83%80%E3%83%BC/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>CloudFlareのRocket Loaderが原因で突然Javascriptが動かなくなった</title>
            <link>https://qwerty.work/post/2018/05/cloudflare-rocket-loader-javascript/</link>
            <pubDate>Thu, 10 May 2018 22:10:26 +0900</pubDate>
            <guid>https://qwerty.work/post/2018/05/cloudflare-rocket-loader-javascript/</guid>
            <description>&lt;p&gt;まさか &lt;a class=&#34;link&#34; href=&#34;https://www.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;CloudFlare&lt;/a&gt; が原因だったとは…。WEBページのJSが急に動かなくなって困ったのですが解決できたのでメモ。&lt;/p&gt;&#xA;&lt;h3 id=&#34;javascriptが動かなくなる不具合は突然に&#34;&gt;Javascriptが動かなくなる不具合は突然に&#xA;&lt;/h3&gt;&lt;p&gt;このブログを書く昨日まで普通に表示されていたページが今日になって突然おかしなことになりました。&lt;/p&gt;&#xA;&lt;p&gt;おかしいというのは IE で表示したページは自体はレイアウトを保った状態で表示はされるのですが、 Javascript を使って表示される部分だけが表示されないんです。&lt;/p&gt;&#xA;&lt;h4 id=&#34;表示されなくなったもの&#34;&gt;表示されなくなったもの&#xA;&lt;/h4&gt;&lt;ul&gt;&#xA;&lt;li&gt;Facebook、Twitter、はてな、Pocket、LINEなどのSNSボタン&lt;/li&gt;&#xA;&lt;li&gt;Google AdSenseのバナー&lt;/li&gt;&#xA;&lt;li&gt;jQuery.jsを使ったアコーディオン&lt;/li&gt;&#xA;&lt;li&gt;Echo.js（画像を遅延表示させるLazyRoadみたいなやつ）&lt;/li&gt;&#xA;&lt;li&gt;LightBox.js&lt;/li&gt;&#xA;&lt;li&gt;SyntaxHighlighter（PREタグのソースを装飾するやつ）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;などが全部動かなくなりました。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ieでは動いていないけどchromeでは一部動いている&#34;&gt;IEでは動いていないけどChromeでは一部動いている&#xA;&lt;/h3&gt;&lt;p&gt;Internet Explorer 11 では全ての Javascript が動いていないのに対して、Chrome では AdSenseの広告だけは表示されました。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ソースを見ると異常あり&#34;&gt;ソースを見ると異常あり&#xA;&lt;/h3&gt;&lt;p&gt;おかしいな～なんで急に動かなくなるかな～とブラウザでページのソースを見ると以下のように&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;script&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;～&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;でないといけないところが、 **タグ全部 **が&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;script&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;15304f88fc0274cd53c9f980-text/javascript&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;～&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;になっていました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2018/05/10/No-03.jpg&#34; &gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;808px&#34; data-flex-grow=&#34;337&#34; height=&#34;178&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/05/cloudflare-rocket-loader-javascript/images/No-03s.jpg&#34; width=&#34;600&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;15304f88fc0274cd53c9f980-&lt;/strong&gt; の部分はページを表示する度にランダムで値が変化しました。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ftpにあるファイルは正常怪しいファイルもなし&#34;&gt;FTPにあるファイルは正常、怪しいファイルもなし&#xA;&lt;/h3&gt;&lt;p&gt;**どうなってんだこりゃ～改ざんか！？**とサーバにあるHTMLファイルを開いてみると、ソースは **タグ を書き換えるような PHP や JS がサーバーにあるんじゃないか？と、見慣れないファイルがないか探しましたが怪しいファイルはパッと見で見当たりませんでした。&lt;/p&gt;&#xA;&lt;h3 id=&#34;cloudflareのrocket-loaderが怪しい&#34;&gt;CloudFlareのRocket Loaderが怪しい&#xA;&lt;/h3&gt;&lt;p&gt;サーバーに置いてあるファイルは正常で、ブラウザで表示する際にソースが書き換わっているというこで、怪しいファイルがなくて、他にサーバーとブラウザ間でソースの置換ができるものとしたら &lt;a class=&#34;link&#34; href=&#34;https://www.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;CloudFlare&lt;/a&gt; しかないけど**まさかね～**なんて考えながらも &lt;a class=&#34;link&#34; href=&#34;https://www.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;CloudFlare&lt;/a&gt; を疑ってみました。&lt;/p&gt;&#xA;&lt;p&gt;現時点では、ページの表示スピードを高速化させるために無料で使えるCDNサービスの &lt;a class=&#34;link&#34; href=&#34;https://www.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;CloudFlare &lt;/a&gt;を使用しています。 &lt;a class=&#34;link&#34; href=&#34;https://www.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;CloudFlare&lt;/a&gt; ではページ内の Javascript を高速化させるための &lt;strong&gt;「ロケットローダー」&lt;/strong&gt; という機能があります。この機能を &lt;strong&gt;ON（Automatic）&lt;/strong&gt; にすると自動的に &lt;strong&gt;タグ の直前&lt;/strong&gt;に以下のように &lt;strong&gt;rocket-loader.js&lt;/strong&gt; を呼び出すソースが組み込まれます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2018/05/10/No-05.jpg&#34; &gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;3789px&#34; data-flex-grow=&#34;1578&#34; height=&#34;38&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/05/cloudflare-rocket-loader-javascript/images/No-05s.jpg&#34; width=&#34;600&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;script&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://ajax.cloudflare.com/cdn-cgi/scripts/dba9ecf7/cloudflare-static/rocket-loader.min.js&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;cf&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;once&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=!&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;bf743e9df871d84cecbddbe&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; defer=&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;/script&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ここがなんだか怪しいぞ、といことで &lt;a class=&#34;link&#34; href=&#34;https://www.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;CloudFlare &lt;/a&gt;の管理画面から &lt;strong&gt;Rocket Loader&lt;/strong&gt; を &lt;strong&gt;OFF&lt;/strong&gt; にしてみました。&lt;strong&gt;[Speed]&lt;/strong&gt; ページの中間に** [Rocket Loader BETA] **という部分にあります。設定変更したら即座に反映されます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2018/05/10/No-06.jpg&#34; &gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;402px&#34; data-flex-grow=&#34;167&#34; height=&#34;358&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/05/cloudflare-rocket-loader-javascript/images/No-06s.jpg&#34; width=&#34;600&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2018/05/10/No-07.jpg&#34; &gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;332px&#34; data-flex-grow=&#34;138&#34; height=&#34;433&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/05/cloudflare-rocket-loader-javascript/images/No-07s.jpg&#34; width=&#34;600&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;ページが正常に表示された&#34;&gt;ページが正常に表示された！&#xA;&lt;/h3&gt;&lt;p&gt;やっぱり原因は &lt;a class=&#34;link&#34; href=&#34;https://www.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;CloudFlare&lt;/a&gt; のRocket Loaderでした。&lt;strong&gt;OFF&lt;/strong&gt; にした直後にページの表示を更新したら正常になりました。なんかCDNのサービスを無料で提供しているし、 Rocket Loader は BETA版 だからってテストもせずにリリースするものなんですかね？以下のページのように、過去にも同じようなことがあったようです。&lt;a class=&#34;link&#34; href=&#34;https://www.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;CloudFlare&lt;/a&gt; には気を付けないといけないですね。やれやれ&amp;hellip;。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;http://news.7zz.jp/php/4232.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/http://news.7zz.jp/php/4232.html&#34; alt=&#34;http://news.7zz.jp/php/4232.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;http://news.7zz.jp/php/4232.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;http://news.7zz.jp/php/4232.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;</description>
        </item></channel>
</rss>
