2017-05-01 22 views
0

我們的客戶有一個Silverstripe網站,他們將託管一家將Cloudflare CDN應用於其託管計劃的公司。如何禁用Silverstripe CMS Javascript上的火箭啓動器?

我們無法訪問Cloudflare設置,但想要更改其中一個設置「Rocket Launcher」,以便它不會觸及Silverstripe CMS Javascript文件(lib.js,leftandmain.js)。

It is possible to make Rocket Launcher ignore a script

<script data-cfasync="false" src="/javascript.js"></script>

然而,CMS JavaScript是動態的核心Silverstripe代碼加載:

Requirements::combine_files('leftandmain.js', $leftAndMainIncludes);

是否有可能通過擴展data-cfasync="false"變量添加到腳本標籤核心代碼?

我想輸出爲:

<script type="text/javascript" data-cfasync="false" src="/assets/_combinedfiles/leftandmain.js?m=1486678668"></script>

感謝任何幫助。

+0

我不這麼認爲。生成的腳本標籤被硬編碼到'Requirements :: includeInHTML' –

回答

0

在Requirements_Backend中看起來並不容易。可以使用RequestFilter來完成。使用正則表達式或簡單的替換來修改響應正文。

+0

[不要用正則表達式解析HTML](http://stackoverflow.com/a/1732454/2812842)! –

+0

@RobbieAverill一個簡單的搜索/替換一些腳本/網址應該就夠了。 – wmk

相關問題