申し訳ありませんイゴール・ミナールを私はあなたが答えるが、私は他のサービスなしで、あなたの関数を投稿見たい投票:
app.filter('htmlLinky', function($sanitize, linkyFilter) {
var ELEMENT_NODE = 1;
var TEXT_NODE = 3;
var linkifiedDOM = document.createElement('div');
var inputDOM = document.createElement('div');
var linkify = function linkify(startNode) {
var i, ii, currentNode;
for (i = 0, ii = startNode.childNodes.length; i < ii; i++) {
currentNode = startNode.childNodes[i];
switch (currentNode.nodeType) {
case ELEMENT_NODE:
linkify(currentNode);
break;
case TEXT_NODE:
linkifiedDOM.innerHTML = linkyFilter(currentNode.textContent);
i += linkifiedDOM.childNodes.length - 1
while(linkifiedDOM.childNodes.length) {
startNode.insertBefore(linkifiedDOM.childNodes[0], currentNode);
}
startNode.removeChild(currentNode);
}
}
return startNode;
};
return function(input) {
inputDOM.innerHTML = input;
return linkify(inputDOM).innerHTML;
};
});
NG-バインドのhtml = "HTML | htmlLinky"
私はしましたこれと最後の30分間演奏され、リンクフィルタがHTMLタグを適切にサニタイズしないようです。角度のあるドキュメントサイトのトークボークで、多くの人がそれに不平を感じています。 $ sanitizeサービス、$ filterおよび組み合わせを使用して試しました - JSスクリプトang-sanitise.jsを参照しようとしました... フィルタを使用して運が悪いと思います。おそらくあなた自身の命令を作るでしょうか? – Lander
うんざりして、墨塗りとリンケージのための新しい指令を作成しました。ここでプルリクエストがありますが、開発者の言うことが分かります:https://github.com/angular/angular.js/pull/3285 – brooksbp
私はこれを使用することに非常に興味があります。 @Igorのスニペットはインストール可能なスクリプトになっていますか? – meshy