我是相當新的灰燼,但我在V1.12並用以下問題所困擾。如何停止Ember.Handlebars.Utils.escapeExpression轉義單引號
- 我正在做一個模板,幫助
- 助手大約需要的井號標籤和用戶名鳴叫和HTML錨的屍體。
我下面的範例是:
- 使用
Ember.Handlebars.Utils.escapeExpression(value);
逃脫輸入文本 - 做邏輯
- 使用
Ember.Handlebars.SafeString(value);
然而,1似乎逃脫撇號。這意味着我傳給它的任何句子都會被轉義出來。我怎樣才能避免這一點,同時確保我沒有引入潛在的漏洞?
編輯:實施例代碼
export default Ember.Handlebars.makeBoundHelper(function(value){
// Make sure we're safe kids.
value = Ember.Handlebars.Utils.escapeExpression(value);
value = addUrls(value);
return new Ember.Handlebars.SafeString(value);
});
哪裏addUrls
是使用正則表達式來查找和替換#標籤或用戶名的函數。例如,如果它被給予#emberjs foo
它將返回<a href="blah">#emberjs</a> foo
。
上述輔助函數的結果將顯示在灰燼(HTMLBars)模板。
感謝您的回覆和解釋。我已經添加了一些我希望能夠幫助的示例代碼和示例。 – timfernando
在你的情況下,在調用'escapeExpression'之前調用'addUrls'是不是正確的方法?你不想'addUrls'必須處理轉義字符串。 –
,但那麼'addUrls'添加的鏈接將被轉義爲文本而不是鏈接? – timfernando