[英]PHP - Using `file_get_contents()` to insert javascript
我看到了一些相關的問題,但是沒有特定於此情況的問題。
這個問題是在Magento的背景下提出的,但絕不限於此。
我有一個<head>
模板,除了head要做的其他事情之外,還包括各種Javascript文件。
出於一般原因,我有一個腳本希望包含在作者的CDN中。 不幸的是,作者沒有通過HTTPS提供可用的版本,這會導致用戶在加載此腳本時看到“不安全的內容”(並且取決於瀏覽器,無法運行代碼)。
我知道我可以將文件保存到我的本地域,該文件可以通過HTTPS進行訪問,但是正如我所說,我更喜歡從CDN中獲取此腳本。
作為解決方法,我使用了(在模板中):
<script type="text/javascript">
<?php echo file_get_contents('http://path.to/the/file.js' ?>
</script>
這允許文件在沒有HTTPS版本的情況下生存,因為在解析PHP時會包含該文件,而不是在運行時將其作為單獨的資源加載到瀏覽器中。
假設我在模板中留下了解釋為什么使用此方法的注釋,那么通過這種方式可能會發現有什么重要的用途嗎?
這種方法有兩個缺點:
假設您之所以要直接從CDN下載,是因為您始終想要一個更新的腳本。 您可以首先下載腳本的內容並將其放在服務器上。 每天進行一次cron作業,以從CDN重新下載腳本。 這將幫助您獲取更新的腳本並獲得更好的性能。
我不知道我們在這里談論的是哪種javascript文件。 如果它很流行,那么您可以選擇已經托管它的CDN。 如果您包含的是隨機JavaScript文件,則可以執行以下操作:
可能太多了,但這是一個選擇。
使用量的缺點之一是流量。 由於每次都會請求並投放JavaScript,因此您將同時使用入站流量和出站流量。 您應該對其進行緩存(這是使用CDN的原因之一)並從那里進行服務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.