簡體   English   中英

如何使用CSS樣式安全地加載電子郵件內容

[英]How to securely load email content with css style

我正在使用AngularJS動態加載電子郵件內容。 一切正常,直到我加載帶有html內容和自己的CSS樣式的電子郵件為止。 然后,電子郵件中的樣式會影響我的應用程序中的樣式。

例如,如果在電子郵件正文中為css指令p { color: #f00; } p { color: #f00; } ,然后在我的整個應用中,所有段落的顏色都變為紅色。

如何將電子郵件樣式與應用程序樣式分開?

提前致謝!

PS。 我的代碼看起來像

$scope.loadMessage = function(message_uid){

    $scope.loadingMessage = true;

    $http({
        url: baseApiURL + 'mail/' + message_uid,
        method: 'GET',
        headers: {'Authorization': userApiKey},
    }).then(showMessage, errorDuringLoadMessage);

    showMessage = function(r) {
        $scope.message.body = $sce.trustAsHtml(r.data.message);
        $scope.message.subject = r.data.subject;
        $scope.message.from = r.data.from;
        $scope.loadingMessage = false;
    };

    /* ... */
};

並查看:

<div class="panel panel-success">
  <div class="panel-body" ng-hide="loadingMessage" ng-bind-html="message.body">
</div>

我想到的最簡單的方法是將其寫入iframe。

var frame = document.createElement('iframe');
/* position, style, and append iframe here... */
var frameDoc = frame.contentWindow.document;
frameDoc.open();
frameDoc.write($scope.message.body);
frameDoc.close();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM