2016-05-26 3 views
1

AngularJSの$ http経由でバックエンドからHTMLコードを取得し、取得したコードをログに記録しても問題ありませんが、ブラウザで確認するためにhtml構造が変更されました。 これは私が取得コードです:ng-bind-html html構造を変更する理由は何ですか?

<a href=" http://www.google.com" target="_blank"> 
    <figure> 
     <img class="img-responsive" src="/sites/Satellite;jsessionid=pk_tbxorbyJ4KrsWxo1jaVBFYvQPx1VovEs2GpjWziIk6cFaL50_!650994948?blobcol=urldata&amp;blobkey=id&amp;blobtable=MungoBlobs&amp;blobwhere=1462843196206&amp;ssbinary=true" /> 

    </figure> 
    <p> Some text</p> 
</a> 

と、これはブラウザが表示するものです。

<a href=" http://www.google.com" target="_blank"> 
</a> 
<figure> 
    <img class="img-responsive" src="/sites/Satellite;jsessionid=pk_tbxorbyJ4KrsWxo1jaVBFYvQPx1VovEs2GpjWziIk6cFaL50_!650994948?blobcol=urldata&amp;blobkey=id&amp;blobtable=MungoBlobs&amp;blobwhere=1462843196206&amp;ssbinary=true"> 
</figure> 
<p> some text</p> 

その後、私は次のテストを行った、コードをログには

$ログを取得し.debug(vm.myHtml);その後、

の$ log.debug($ sce.getTrustedHtml(vm.myHtml))

でコードをサニタイズと私は同じ、以前の違いを得ます。

+0

ルートHTMLの上部に '<!doctype html>'がありますか? –

+0

お使いのブラウザは何ですか? [デモ](https://plnkr.co/edit/b66pq0?p=preview)は私のブラウザで動作します(Google Chromeバージョン50.0.2661.102 m) –

+0

@AlonEitanはい<!doctype html> – Isma90

答えて

0

私は同じ問題を抱えていて、AngularJS docsで利用可能なPlunkerで遊んでいました。

<h1>タグを<a>タグ(このplunkerを参照)の範囲内に配置して変更しました。良いニュースは、この最も基本的なケースで働いたということでした。これは私の年齢の頭を傷つけていた。

最終的に私が使用していたngSanitizeのバージョンが多少古くて、ある時点でタグがマップされ、分割されてレンダリングされた方法が少し変更されたと推測していました。私は歴史を見渡しましたが、何も見つかりませんでした。最後に、私はplunkerのバージョンと同じ1.5.7にアップデートしました。そしてもう一度笑ってください:)

関連する問題