2017年4月19日 星期三

SyntaxHighlighter在https下的Blogger不能使用-已解決

4/7發現問題:
其實之前就會發現到舊文章的一些程式原始碼範例的高亮度顯示功能消失了
不過當時以為是作者的伺服器暫時掛點而不以為意
最近重開程式碼的文章(上一篇的python)時
才正式地注意到這個問題還存在著

上網找了一下答案
這才知道,因為開啟了Blogger的強制https連線造成無法使用
詳細地的說起來,就是直接引用原作者網址上的檔案時
會因為不符合https模式下Blogger的連線原則而被ban掉
只要取消掉這個新功能就OK了

如果要保留https的安全連線機制
目前有兩項作法:
1、使用google自家開發的套件code-prettify
2、把SyntaxHighlighter的那些檔案放在google認可的https連線網站上
嗯~~不管哪一項都蠻麻煩的
用第1項似乎是最佳方案,但舊文章需要修改
用第2項不用改舊文章,但需要找個google認可的網路空間放那些程式碼

目前就暫時關掉強制https連線好了
暫時沒什麼心力去處理這一塊

4/19更新:
花了一些時間找了一些方案
包含了,第一方案:使用code-prettify並修改CSS
讓google的code-prettify的顯示與SyntaxHighlighter一樣
這看來可行性蠻高的,先記著
然後接著就看到的可行性更高的第二方案
把SyntaxHighlighter程式碼丟到github上,然後用rawgit的的服務存取
這樣就Google認可的安全連線了(參考文章:善用RawGit存取GitHub Raw File)
最後想想,反正這樣的服務是免費的
應該也有人把東西丟上去過了吧
就以cdn+SyntaxHighlighter的關鍵字找到了這個網站
https://cdnjs.com/libraries/SyntaxHighlighter
好啦,把目前Blogger裡使用的連結改成這個網址裡顯示的,結案!
舊文章什麼都不用改啦!

沒有留言: